Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Описание: Чтение всего формата JSON КЛЮЧ - ЗНАЧЕНИЕ, получение размера всего формата JSON
Kibor
Отправлено: 23 Июня, 2020 - 22:59:50
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8218
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




parserjson - Парсер JSON.

Доступ к объектам JSON реализован таким образом:
CODE:
/*
{
"clientKey":"dce6bcbb1a728ea8d563de6d169a2057",
"task":
{
"type":"ImageToTextTask",
"body":"BASE64_BODY_HERE!",
"phrase":false,
"case":false,
"numeric":0,
"math":false,
"minLength":0,
"maxLength":0
}
}
*/

string Json="{^"clientKey^":^"" + "dce6bcbb1a728ea8d563de6d169a2057^"," +
"^"task^":" +
"{^"type^":^"ImageToTextTask^"," +
"^"body^":^"BASE64_BODY_HERE!^"," +
"^"phrase^":false," +
"^"case^":false," +
"^"numeric^":0," +
"^"math^":false," +
"^"minLength^":0," +
"^"maxLength^":0}}";

messagebox (Json);

parserjson(Rez_Json, Json);//Создаем объект JSON с символьным именем Rez_Json и Парсим запись JSON с Json

messagebox (Rez_Json.task.case);//Выводим значение объекта JSON


Дополнительные функции:

sizejson(Rez_Json);
Возвращает количество всех пар КЛЮЧ - ЗНАЧЕНИЕ объекта Rez_Json.
В виде параметра принимает объект JSON, созданный при парсинге JSON формата.

Пример:
CODE:
string Json="{^r^n"+
"^"playerstats^": {^r^n"+
"^"steamID^": ^"76561198050187807^",^r^n"+
"^"gameName^": ^"ValveTestApp260^",^r^n"+
"^"stats^": [^r^n"+
"{^r^n"+
"^"name^": ^"total_kills^",^r^n"+
"^"value^": 35179^r^n"+
"},^r^n"+
"{^r^n"+
"^"name^": ^"total_deaths^",^r^n"+
"^"value^": 30241^r^n"+
"},^r^n"+
"{^r^n"+
"^"name^": ^"total_time_played^",^r^n"+
"^"value^": 2444377^r^n"+
"}^r^n"+
"]^r^n"+
"}^r^n"+
"}";

messagebox (Json);

parserjson(Rez_Json, Json);

messagebox (sizejson(Rez_Json));//Вернет 8


============================================


readjson (Rez_Json, #Key[0], #Value[0]);
Считывает все пары КЛЮЧ - ЗНАЧЕНИЕ в массивы string
Первый параметр - Объект JSON
Второй - Указатель на массив string в который запишутся ключи.
Третий - Указатель на массив string в который запишутся значения.

Возвращает количество считанных пар.
В случае ошибки возвращает число менее 0

Пример:
CODE:
string Json="{^r^n"+
"^"playerstats^": {^r^n"+
"^"steamID^": ^"76561198050187807^",^r^n"+
"^"gameName^": ^"ValveTestApp260^",^r^n"+
"^"stats^": [^r^n"+
"{^r^n"+
"^"name^": ^"total_kills^",^r^n"+
"^"value^": 35179^r^n"+
"},^r^n"+
"{^r^n"+
"^"name^": ^"total_deaths^",^r^n"+
"^"value^": 30241^r^n"+
"},^r^n"+
"{^r^n"+
"^"name^": ^"total_time_played^",^r^n"+
"^"value^": 2444377^r^n"+
"}^r^n"+
"]^r^n"+
"}^r^n"+
"}";

messagebox (Json);

parserjson(Rez_Json, Json);

int W=sizejson(Rez_Json);
new string Key[W];
new string Value[W];

int E=readjson (Rez_Json, #Key[0], #Value[0]);

for (int k=0; k<E; k++) messagebox (Key[k]+" = "+Value[k]);

string S="";
for (k=0; k<E; k++) S=S+Key[k]+" = "+Value[k]+"^r^n";
messagebox (S);


======================================================

valuejson(Rez_Json, "playerstats.stats[1].name");

Возвращает string в котором находится значение указанного ключа.
Первый параметр - Объект JSON
Второй - string, в котором находится полный ключ, значение которого надо получить.

В случае ошибки возвращает ERROR_SEARCH_JSON

Пример:
CODE:
string Json="{^r^n"+
"^"playerstats^": {^r^n"+
"^"steamID^": ^"76561198050187807^",^r^n"+
"^"gameName^": ^"ValveTestApp260^",^r^n"+
"^"stats^": [^r^n"+
"{^r^n"+
"^"name^": ^"total_kills^",^r^n"+
"^"value^": 35179^r^n"+
"},^r^n"+
"{^r^n"+
"^"name^": ^"total_deaths^",^r^n"+
"^"value^": 30241^r^n"+
"},^r^n"+
"{^r^n"+
"^"name^": ^"total_time_played^",^r^n"+
"^"value^": 2444377^r^n"+
"}^r^n"+
"]^r^n"+
"}^r^n"+
"}";

messagebox (Json);

parserjson(Rez_Json, Json);

messagebox (valuejson(Rez_Json, "playerstats.stats[1].name"));
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« О программе Кибор »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by