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