cjson创建数组

这里介绍如何使用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);
}

 


版权声明:本文为EFM32原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。