设备管理 IOTDM(联通用户专用)-Json组件使用说明:1. Json编码
1. Json编码
使用Json组件进行编码的流程。
创建Json编码对象。
1
|
HW_JSONOBJ HW_JsonObjCreate() |
获取Json对象根节点。
1
|
HW_JSON HW_JsonGetJson(HW_JSONOBJ hjson) |
往Json对象中添加键值对:
添加pcVal为字符串的Json键值对。
1
|
HW_INT HW_JsonAddStr(HW_JSON pstJson, HW_CHAR *pcKey, HW_CHAR *pcVal) |
添加uiVal为整数的Json键值对。
1
|
HW_INT HW_JsonAddUint(HW_JSON pstJson, HW_CHAR *pcKey, HW_UINT uiVal) |
添加bVal为bool的Json键值对。
1
|
HW_INT HW_JsonAddBool(HW_JSON pstJson, HW_CHAR *pcKey, HW_BOOL bVal) |
添加值为Json的Json键值对,获取到的为子Json对象。
1
|
HW_JSON HW_JsonAddJson(HW_JSON pstJson, HW_CHAR *pcKey) |
添加值为Json数组Json键值对,获取到的为子Json数组对象。
1
|
HW_JSON_ARRAY HW_JsonAddArray(HW_JSON pstJson, HW_CHAR *pcKey) |
往Json数组中添加键值对:
添加pcVal为字符串的Json键值对。
1
|
HW_INT HW_JsonArrayAddStr(HW_JSON_ARRAY *pstArray, HW_CHAR *pcKey, HW_CHAR *pcVal) |
添加uiVal为整数的Json键值对。
1
|
HW_INT HW_JsonArrayAddUint(HW_JSON_ARRAY *pstArray, HW_CHAR *pcKey, HW_UINT uiVal) |
添加bVal为bool的Json键值对。
1
|
HW_INT HW_JsonArrayAddBool(HW_JSON_ARRAY *pstArray, HW_CHAR *pcKey, HW_BOOL bVal) |
添加pucValue为Json的Json值,获取到的为子Json对象。
1
|
HW_JSON HW_JsonArrayAddJson(HW_JSON_ARRAY pstArray) |
添加pucValue为Json数组Json键值对,获取到的为子Json数组对象。
1
|
HW_JSON_ARRAY *HW_JsonArrayAddArray(HW_JSON_ARRAY *pstArray) *HW_JsonArrayAddArray(HW_JSON_ARRAY *pstArray) |
获取Json字符串 。
1
|
HW_CHAR *HW_JsonEncodeStr(HW_JSONOBJ hJson); |
删除Json对象 。
1
|
HW_VOID HW_JsonObjDelete(HW_JSONOBJ *phJson); |
Json编码示例:
待解析Json格式:
{ "temperature":22, "otherInfo":{ "batteryLevel":"low" } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
/*变量定义*/ HW_JSONOBJ jsonObj; HW_JSON rootjson; HW_JSON json; HW_CHAR *pcJsonStr; /*创建Json编码对象*/ hJsonObj = HW_JsonObjCreate(); /*获取跟节点Json对象*/ rootjson = HW_JsonGetJson(hJsonObj); /*往根节点中添加键值对*/ HW_JsonAddUint(rootjson, "temperature", 22); /*从根节点中获取子Json对象*/ json = HW_JsonAddJson(rootjson, "otherInfo"); /*在子Json中添加键值对*/ HW_JsonAddStr(json, " batteryLevel", "low"); /*获取Json字符串*/ pcJsonStr = HW_JsonEncodeStr(hjsonObj); /*删除之前创建的Json编码对象,释放资源*/ HW_JsonObjDelete(&hJsonObj); |