Объект 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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