Объект Newtonsoft сериализуется в String. Ожидается экземпляр JObjectC#

Место общения программистов C#
Anonymous
Объект Newtonsoft сериализуется в String. Ожидается экземпляр JObject

Сообщение Anonymous »

Привет, я пытаюсь проанализировать эту строку JSON, но у меня есть другие подобные строки в файлах, поэтому я хочу автоматизировать это, чтобы я мог удалить недопустимые строки, чтобы сделать файл действительным JSON для чтения. Проблема в том, что что JSON содержит несколько JSON в 1 строке.

Пример:

Код: Выделить всё

{"item":"value"}{"anotheritem":"value"}
Можно ли вообще удалить

Код: Выделить всё

{"anotheritem":"value"}
Итак, он превращается в действительный JSON, который можно прочитать, чтобы начать анализ файлов.

Я пробовал использовать StreamReader, потому что в файле у меня есть несколько файлов, содержащих этот недопустимый JSON

Итак, я получил возможность обнаруживать неверный JSON, но по какой-то причине я не могу заставить его прочитать JSON, чтобы я мог использовать .remove для удаления недопустимой строки

Код: Выделить всё

using (StreamReader r = new StreamReader(itemDir))
{
string json = r.ReadToEnd();
if (json.Contains("anotheritem"))
{
JObject NoGood = JObject.FromObject(json);
MessageBox.Show(NoGood.ToString());
}
}
Ошибка:

Код: Выделить всё

Object serialized to String. JObject instance expected.
Спасибо всем за потраченное время и помощь.

Подробнее здесь: https://stackoverflow.com/questions/386 ... e-expected

Вернуться в «C#»