hilink_cjson.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*
  2. * Copyright (c) Huawei Technologies Co., Ltd. 2019-2021. All rights reserved.
  3. * Description: json头文件,厂家不用实现,直接调用
  4. */
  5. #ifndef HILINK_CJSON_H
  6. #define HILINK_CJSON_H
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif /* __cpluscplus */
  10. /*
  11. * 将字符串形式的json数据解析为json结构体类型的数据
  12. * 返回NULL-解析失败,非NULL-解析成功,返回值为json结构体指针
  13. */
  14. void *hilink_json_parse(const char *value);
  15. /*
  16. * 获取json结构体中的字符串value
  17. * 返回NULL-获取失败,非NULL-获取成功,返回值为字符串value首地址
  18. */
  19. char *hilink_json_get_string_value(const void *object, const char *name, unsigned int *len);
  20. /*
  21. * 获取json结构体中的数值value
  22. * 返回0-成功,-1-失败
  23. */
  24. int hilink_json_get_number_value(const void *object, const char *name, int *value);
  25. /*
  26. * 获取json结构体中的object
  27. * 返回NULL-解析失败,非NULL-解析成功,返回值为json object结构体指针
  28. */
  29. void *hilink_json_get_object(const void *object, const char *name);
  30. /*
  31. * 获取json结构体中的array元组
  32. * 返回NULL-解析失败, 非NULL-解析成功,返回值为json object结构体指针
  33. */
  34. void *hilink_json_get_arrayitem(const void *array, int item);
  35. /*
  36. * 获取json结构体中的array的大小
  37. * 返回元组数量
  38. */
  39. int hilink_json_get_arraysize(const void *array);
  40. /* 释放json结构体所占用的空间 */
  41. void hilink_json_delete(void *object);
  42. /* json对象内字符串数据清0 */
  43. void hilink_json_clear_all_string(void *object);
  44. #ifdef __cplusplus
  45. }
  46. #endif /* __cpluscplus */
  47. #endif