cjson创建数组_cjson添加数组

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

  1. {
  2. "UnixSocket":
  3. [
  4. {
  5. "id":0,
  6. "value":10.0
  7. }
  8. ]
  9. }

干脆一些,直接上代码:

  1. int Jsondata_Create_Json(char *pBuf, int id, int type, int value, float fvalue)
  2. {
  3. cJSON *root;
  4. cJSON *Array;
  5. cJSON *objId;
  6. char *pStr;
  7. int ret;
  8. memset(pBuf, 0, sizeof(pBuf));
  9. root = cJSON_CreateObject();
  10. Array = cJSON_CreateArray();
  11. objId = cJSON_CreateObject();
  12. cJSON_AddNumberToObject(objId, "id", id);
  13. if(type == Value_Int)
  14. {
  15. cJSON_AddNumberToObject(objId, "value", value);
  16. }
  17. else
  18. {
  19. cJSON_AddNumberToObject(objId, "value", fvalue);
  20. }
  21. cJSON_AddItemToArray(Array, objId);
  22. cJSON_AddItemToObject(root, "UnixSocket", Array);
  23. pStr = cJSON_Print(root);
  24. printf("json is:\r\n%s\r\n", pStr);
  25. strcpy(pBuf, pStr);
  26. }