Skip to content
cragwen edited this page Dec 20, 2022 · 2 revisions

code

https://github.com/DaveGamble/cJSON

doc

https://blog.csdn.net/Mculover666/article/details/103796256

https://cloud.tencent.com/developer/article/1619838

test

#include <iostream>
#include <cjson/cJSON.h>

using namespace std;

/*
{
    "year": 22,
    "name": "fool",
    "man": true,
    "adult": false,
    "money": null,
    "season": ["spring", "summer", "fall", "winter"],
    "child": {
        "girlfriend": "june"
    }
}
*/

char *str_array[4] =
{
    "spring",
    "summer",
    "fall",
    "winter"
};

int json_create()
{
    cJSON *root = cJSON_CreateObject();
    cJSON *years = cJSON_CreateNumber(22);
    cJSON *name = cJSON_CreateString("fool");
    cJSON *man = cJSON_CreateTrue();
    cJSON *adult = cJSON_CreateFalse();
    cJSON *money = cJSON_CreateNull();
    // cJSON *season = cJSON_CreateStringArray(str_array, 4);
    cJSON *child = cJSON_CreateObject();
    cJSON *girlfriend = cJSON_CreateString("june");

    cJSON_AddItemToObject(root, "years", years);
    cJSON_AddItemToObject(root, "name", name);
    cJSON_AddItemToObject(root, "man", man);
    cJSON_AddItemToObject(root, "adult", adult);
    cJSON_AddItemToObject(root, "money", money);
    // cJSON_AddItemToObject(root, "season", season);
    cJSON_AddItemToObject(root, "child", child);
    cJSON_AddItemToObject(child, "girlfriend", girlfriend);

    char *json = cJSON_Print(root);

    cout << json << endl;

    cJSON_Delete(root);
}

int json_parser()
{
    char *json = "{\"years\":22,\"name\":\"fool\"}";
    cJSON *root = cJSON_Parse(json);

    cJSON *item = cJSON_GetObjectItem(root, "years");
    int years = item->valuedouble;
    cout << "years = " << years << endl;

}


int main(int argc, char *argv[])
{
    json_create();
    json_parser();
    return 0;
}

Clone this wiki locally