@dlysenko1311

Как из строки сделать array?

Я делаю запрос к апи и получаю. От апи при помощи var data = reader.ReadToEnd(); я получаю переменную data которая равна строке
Вот как выглядит, эта строка:
[

{

"DateCreate": "vsavadsvsadv",

"CompanyName": "vsdvsadvsadavs",

"StoreID": "",

"SNILS": "vsadvsav",

"Association": "vsdavasdv",

"EducationType": "vsdavsadv",

"Specialty": "vsdavsavdas",

"StartEducation": "",

"EndEducation": "",

"LastSertificationDate": "1993.11.24",

"Reason": ""

},

{

"DateCreate": "2022.11.20",

"CompanyName": "fas",

"StoreID": "",

"SNILS": "fsasas",

"Association": "safsafsa",

"EducationType": "fasfa",

"Specialty": "fvsda",

"StartEducation": "",

"EndEducation": "",

"LastSertificationDate": "2001.11.24",

"Reason": ""

},
 ....

]


Ошибка, которуя я получаю:
63beb87b99ff2356396789.png

То есть, эта строка это на самом деле array, каждый елемент которого это словарь.

Мне нужно циклом пройтись по этому array, и вывести значение каждого ключа в словаре. Например так:
foreach (var i in MyArray)
        {
            
            Console.Write(i["DateCreate"]);
            Console.Write(i["CompanyName"]);
            Console.Write(i["StoreID"]);
            Console.Write(i["SNILS"]);
            Console.Write(i["Association"]);
            Console.Write(i["EducationType"]);
            Console.Write(i["Specialty"]);
            Console.Write(i["StartEducation"]);
            Console.Write(i["EndEducation"]);
            Console.Write(i["LastSertificationDate"]);
            Console.Write(i["Reason"]);

        }


То есть, как мне из переменной data , которая является строкой, получить переменную MyArray, чтобы можно было пройтись по MyArray в цикле и вывести нужные мне значения???
  • Вопрос задан
  • 55 просмотров
Решения вопроса 2
twobomb
@twobomb
foreach (var i in JArray.Parse(reader.ReadToEnd())){
                Console.WriteLine(i["DateCreate"]);
....
            }
Ответ написан
Комментировать
используйте статический метод Parseкласса JArrayвместо того же от JObject:

https://www.newtonsoft.com/json/help/html/ParseJso...

string json = @"[
  'Small',
  'Medium',
  'Large'
]";

JArray a = JArray.Parse(json);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы