как проанализировать часть неполного JSON в c#

#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 и добавлять элементы в a List<T> или использовать LINQ для проецирования JArray в a List<T> .

3. Чтобы перейти от JArray к List<string> , вы бы использовали ToObject<List<string>>()