cjson创建数组

纵然是瞬间 提交于 2019-12-30 19:09:12

这里介绍如何使用cjson,创建一个含数组的json字串。例如下面的形式:

{
    "UnixSocket":
    [
        {
            "id":0,
            "value":10.0
        }
    ]
}

干脆一些,直接上代码:

int Jsondata_Create_Json(char *pBuf, int id, int type, int value, float fvalue)
{
    cJSON *root;
    cJSON *Array;
    cJSON *objId;
    char *pStr;
    int ret;

    memset(pBuf, 0, sizeof(pBuf));

    root = cJSON_CreateObject();
    Array = cJSON_CreateArray();
    objId = cJSON_CreateObject();
    cJSON_AddNumberToObject(objId, "id", id);
    if(type == Value_Int)
    {
        cJSON_AddNumberToObject(objId, "value", value);
    }
    else
    {
        cJSON_AddNumberToObject(objId, "value", fvalue);
    }
    cJSON_AddItemToArray(Array, objId);
    cJSON_AddItemToObject(root, "UnixSocket", Array);
    pStr = cJSON_Print(root);
    printf("json is:\r\n%s\r\n", pStr);

    strcpy(pBuf, pStr);
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!