Пожалуйста, обратите внимание, что пользователь заблокирован
Всем привет, сегодня я вам попытаюсь объяснить как можно легко парсить данные из json формата. И это не будут либы которые весят по 20кб. Вот код:
C++:
#include <vector>
#include <shlwapi.h>
#include <iostream>
void split(std::vector<LPCSTR> &vec, char* line, const char* symbol)
{
char* part = strtok(line, symbol);
while (part)
{
vec.push_back(part);
part = strtok(NULL, symbol);
}
}
void test()
{
char* value = NULL; // Строка, в которую будет помещено нужное значение
std::vector<LPCSTR> vec; //Вектор, в который будет записаны данные, разбитые на "
split(vec, json, "\""); //json - сами json данные
for (int i = 0; i < vec.size(); i++)
{
if (strcmp(vec[i], "value") == 0) //Сравниваем строки, если vec[i] наш ключ, то идём дальше
{
value = (char*)malloc(strlen(vec[i] + 2) + 1); //Выделение памяти
strcpy(value, vec[i + 2]); //vec[i + 2] - будет само значение ключа "value"
break; //Выходим с цикла
}
}
if (value != NULL)
{
std::cout << value << std::endl; // Выводим значение
free(value); //Очищаем память
}
}