Как работать одновременно с 5 JSON данными

biryukovm

Client
Регистрация
19.05.2019
Сообщения
147
Благодарностей
10
Баллы
18
Всем привет есть один проект по которому необходимо делать сравнение нескольких JSON, чтоб собрать всю информацию целиком.

Как работать с 1 JSON это понятно но когда их несколько как это можно решить, ведь как я понимаю тут не получиться работать в формате :

C#:
project.Json.character[n2].GetMember("shot")[n3].values[0].text.ToString().Trim();

Сейчас я работаю по формату

C#:
project.Json.FromString("[]");
project.Json.FromString("["+character1+"]");
x1 = project.Json.character[n2].GetMember("shot")[n3].values[0].text.ToString().Trim();

project.Json.FromString("[]");
project.Json.FromString("["+character2+"]");
v1 = project.Json.character[n2].GetMember("shot")[n3].values[0].text.ToString().Trim();

if (x1==v1){}
Мне приходится каждое сравнение выносить в переменные, а это сложно так как хорошо если я знаю сколько их, а если их будет больше как тогда создавать кучу на запас тоже не выход таких костылей


Как можно к примеру сразу их сравнить ?


if ( project.Json1.character[n2].GetMember("shot")[n3].values[0].text.ToString().Trim()==project.Json2.character[n2].GetMember("shot")[n3].values[0].text.ToString().Trim()){}
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 385
Баллы
113
Вот Вам пример, как это можно сделать.
C#:
Func<string, dynamic> Json = (string data) =>
{
    return Global.ZennoLab.Json.JsonConvert.DeserializeObject<dynamic>(data);
};

string data1 = "{\"test\":\"1\"}";
string data2 = "{\"test\":\"2\"}";

dynamic json1 = Json(data1);
dynamic json2 = Json(data2);

if(json1.test == json2.test)
{
    return 0;
}
return 1;
 

biryukovm

Client
Регистрация
19.05.2019
Сообщения
147
Благодарностей
10
Баллы
18
Func<string, dynamic> Json = (string data) => { return Global.ZennoLab.Json.JsonConvert.DeserializeObject<dynamic>(data); };
Подскажите а это что выполняет ?

У меня уже Json идет в переменных как тут


string data1 = "{\"test\":\"1\"}";
string data2 = "{\"test\":\"2\"}";
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 385
Баллы
113
Подскажите а это что выполняет ?

У меня уже Json идет в переменных как тут


string data1 = "{\"test\":\"1\"}";
string data2 = "{\"test\":\"2\"}";
у Вас в переменных строки, как и у меня.
Это функция - то же, что и project.Json.FromString() просто можно создать сколько угодно объектов с распаршенным json, к которым можно обращаться одновременно, Вам ведь это требовалось?
Она вызывается вот тут таким вот образом dynamic json1 = Json(data1);
 
  • Спасибо
Реакции: biryukovm

biryukovm

Client
Регистрация
19.05.2019
Сообщения
147
Благодарностей
10
Баллы
18
у Вас в переменных строки, как и у меня.
Это функция - то же, что и project.Json.FromString() просто можно создать сколько угодно объектов с распаршенным json, к которым можно обращаться одновременно, Вам ведь это требовалось?
Она вызывается вот тут таким вот образом dynamic json1 = Json(data1);
Понял теперь спасибо большое.
 

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