#c# #json #json.net
#c# #json #json.net
Вопрос:
У меня есть json в этом формате:
[
"one",
"Two",
"Three",
"Four",
"Five"
]
Как я могу проанализировать его и поместить в список
Я попробовал NewtonSoft json, и он не может прочитать данные. Это генерирует ошибку.
Обновление 1
Я использовал этот код:
JObject o1 = JObject.Parse(File.ReadAllText(filename));
и получить эту ошибку:
Комментарии:
1. Выглядит как список строк. Что вы пробовали и в чем была ошибка?
2.
JArray.Parse
.3. @JeroenMostert Пожалуйста, посмотрите мое обновление. Я уже использовал эту команду для чтения json и потерпел неудачу.
Ответ №1:
Вы пытаетесь использовать JObject.Parse
, но входные данные — это не объект, а массив. Используйте JArray.Parse
вместо этого.
JArray a1 = JArray.Parse(File.ReadAllText(filename));
Или в качестве альтернативы:
List<string> numbers = JsonConvert.DeserializeObject<List<string>>(File.ReadAllText(filename));
Комментарии:
1. Это сработало. Как я могу преобразовать его в список <Строка>?
2. @mans: смотрите Обновленный ответ для десериализации в определенный тип. В противном случае, я полагаю, вы могли бы перебирать
JArray
и добавлять элементы в aList<T>
или использовать LINQ для проецированияJArray
в aList<T>
.3. Чтобы перейти от
JArray
кList<string>
, вы бы использовалиToObject<List<string>>()