обработка json

elakeri

Client
Регистрация
23.07.2018
Сообщения
199
Благодарностей
10
Баллы
18
В общем есть ответ в json (в прикрепл. доке), там выдает ответ на несколько объектов/акков. Как можно их разделить с добавлением в список или массив, типа
{"id":176062266,"first_name":"DELETED","last_name":"","deactivated":"deleted","has_photo":0,"sex":0,"domain":"id176062266"} одна строка, или элемент массива,

{"id":176062267,"first_name":"Ъхзщшгнеку","last_name":"Ъхзщгнекуц","is_closed":false,"can_access_closed":true,"sex":2,"nickname":"","domain":"id176062267","screen_name":"id176062267","has_photo":0,"has_mobile":0,"mobile_phone":"","home_phone":"","site":"","status":"","career":[],"university":0,"university_name":"","faculty":0,"faculty_name":"","graduation":0,"home_town":"","relation":0,"interests":"","activities":"","universities":[],"schools":[],"about":"","relatives":[]} другая и т.д. Регулярку что то не подобрать, может есть какие нить методы обработки .., или если спарсить в переменные project.Json.FromString("json") , там вроде как разбивает на объекты по индексу, то как можно обратно привести в json формат.
спасибо
 

Вложения

elakeri

Client
Регистрация
23.07.2018
Сообщения
199
Благодарностей
10
Баллы
18
никто не подскажет? или некорректный вопрос?
 

sashf1999

Client
Регистрация
04.01.2019
Сообщения
37
Благодарностей
11
Баллы
8
Смотри есть такой сайт с помощью которого можно удобно просматривать json.
Как именно реализовать в зенке точно не подскажу. Если я правильно тебя понял то ты хочешь десериализировать, сериализировать модель в json и из него.
Десериализировать:
C#:
class Test{}
string json = "";
Test test = JsonConvert.DeserializeObject<Test>(json);//получаешь данные из строки в модель
Сериализация
C#:
Product product = new Product();
product.Name = "Apple";
product.ExpiryDate = new DateTime(2008, 12, 28);
product.Price = 3.99M;
product.Sizes = new string[] { "Small", "Medium", "Large" };

string output = JsonConvert.SerializeObject(product);//Получаешь строку из модели
Если я правильно понял тебя то тебе нужно это, если нет то опиши поподробнее что ты хочешь реализовать
 
  • Спасибо
Реакции: elakeri

elakeri

Client
Регистрация
23.07.2018
Сообщения
199
Благодарностей
10
Баллы
18
Спасибо, возможно это, непонятно только, что за класс Test.., и класс продукт создается автоматом?, потому что самому описать его не знаю как, так как значения некоторых ключей будут массивы разных размеров
 

elakeri

Client
Регистрация
23.07.2018
Сообщения
199
Благодарностей
10
Баллы
18
а, наверно ответ есть в постах, про Newtonsoft.Json. Там наверно есть ответ, что за класс Test. Спасибо, будем рыть.
 

elakeri

Client
Регистрация
23.07.2018
Сообщения
199
Благодарностей
10
Баллы
18
Смотри есть такой сайт с помощью которого можно удобно просматривать json.
Как именно реализовать в зенке точно не подскажу. Если я правильно тебя понял то ты хочешь десериализировать, сериализировать модель в json и из него.
Десериализировать:
C#:
class Test{}
string json = "";
Test test = JsonConvert.DeserializeObject<Test>(json);//получаешь данные из строки в модель
Сериализация
C#:
Product product = new Product();
product.Name = "Apple";
product.ExpiryDate = new DateTime(2008, 12, 28);
product.Price = 3.99M;
product.Sizes = new string[] { "Small", "Medium", "Large" };

string output = JsonConvert.SerializeObject(product);//Получаешь строку из модели
Если я правильно понял тебя то тебе нужно это, если нет то опиши поподробнее что ты хочешь реализовать
Спасибо, подтолкнули к решению:
C#:
JArray Akk = JArray.Parse("json");

for (int i = 0;i<Akk.Count;i++)
{
project.SendInfoToLog(Akk[i].ToString());  
}
 

sashf1999

Client
Регистрация
04.01.2019
Сообщения
37
Благодарностей
11
Баллы
8
Спасибо, возможно это, непонятно только, что за класс Test.., и класс продукт создается автоматом?, потому что самому описать его не знаю как, так как значения некоторых ключей будут массивы разных размеров
Это классы которые создаем сами, в них описываем информация. Почитайте про классы и структуры, вы поймете что к чему. Получается мы создаем класс в котором описываем все нужные нам данным. После чего класс десериализируем или сериализируем смотря что в итоге желаем получить. Если у нас json мы можем из него создать нашу модель например Test, которая будет описывать все поля, после чего этот json мы переводим в нашу модель и получаем класс который имеет все данные с json ну и наоборот.
Создаем модель
C#:
//наша строка json
string json = @" {\"name\":\"Petr\", \"year\":\"03.03.2020 10:10:10\",\"count\":10}";

class Test{
public string Name {get;set;}
public DateTime Year {get;set;}
public int Count  {get;set;}
}//Созданный класс, наша модель

Test test = JsonConvert.DeserializeObject<Test>(json);//десериализируем json в нашу модель

Console.WriteLine(test.Name);//по итогу у нас к консоль выведется Petr
Держи ссылку от почитай тут можешь почитать про это все.
 
  • Спасибо
Реакции: elakeri

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)