1.例一

struct JsonTest
{
    int id;
    char cName[32];
    float fValue;
};

void testWriteJson()
{

    JsonTest jsonObject = {1, "Muten", 0.2f};
    cJSON *root, *object;
    char *result; //生成的结果
    int i;

    root = cJSON_CreateObject();
    object = cJSON_CreateObject();
    cJSON_AddNumberToObject(object, "id", jsonObject.id);
    cJSON_AddStringToObject(object, "name", jsonObject.cName);
    cJSON_AddNumberToObject(object, "value", jsonObject.fValue);

    cJSON_AddNumberToObject(root, "id", jsonObject.id);
    cJSON_AddStringToObject(root, "name", jsonObject.cName);
    cJSON_AddNumberToObject(root, "value", jsonObject.fValue);
    cJSON_AddItemToObject(root, "object", object);

    result = cJSON_Print(root);
    cJSON_Delete(root);
    printf("生成Json:\n%s\n", result);
}
int main(int argc, char **argv)
{

    testWriteJson();
}

2.例二

void TestJsonArray()
{

    //测试cJson 创建JsonArray数组
    JsonTest jsonObject = {1, "Muten", 0.2f};
    cJSON *root;
    char *result; //生成的结果
    const char *names[3] = {"zhangsan", "lisi", "wangwu"};

    root = cJSON_CreateObject();

    cJSON *JsonArray = cJSON_CreateArray();

    for (int i = 0; i < 3; i++)
    {

        cJSON *ArrayItem = cJSON_CreateObject();
        jsonObject.id = i;
        cJSON_AddNumberToObject(ArrayItem, "id", jsonObject.id);
        cJSON_AddStringToObject(ArrayItem, "name", jsonObject.cName);
        cJSON_AddNumberToObject(ArrayItem, "value", jsonObject.fValue);
        cJSON_AddItemToArray(JsonArray, ArrayItem);
    }

    cJSON_AddNumberToObject(root, "id", jsonObject.id);
    cJSON_AddStringToObject(root, "name", jsonObject.cName);
    cJSON_AddNumberToObject(root, "value", jsonObject.fValue);
    cJSON_AddItemToObject(root, "JsonArray", JsonArray);
    cJSON_AddItemToObject(root, "names", cJSON_CreateStringArray(names, 3));

    result = cJSON_Print(root);
    cJSON_Delete(root);
    printf("生成JsonArray:\n%s\n", result);
}
int main(int argc, char **argv)
{

    TestJsonArray();
}

GitHub 加速计划 / cj / cJSON
10.45 K
3.16 K
下载
Ultralightweight JSON parser in ANSI C
最近提交(Master分支:1 个月前 )
424ce4ce This reverts commit 5b502cdbfb21fbe5f6cf9ffbd2b96e4281a741e6. Related to #860 3 个月前
32497300 - 4 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐