微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cjson解析物理层属性

通过CJson库要能完成如下的任务:
1、可以对字符串(json格式)进行解析
2、可以获取指定key的值,寻找不到指定key,需要返回明确的错误
3、可以对指定的key进行赋值

{
char phyattr_mem[][64] = {"tx_crc","mode","link","end_of_list"};
char actual_phyattr[] = "{\"tx_crc\":\"0\",\"mode\":\"1\"}";
\*需要对解析解析出错做处理*\
cJSON *actual = cJSON_Parse(actual_phyattr);
cJSON *root = cJSON_CreateObject(); int i = 0; while (0!=strcmp(phyattr_mem[i],"end_of_list")) { cJSON *tmp = cJSON_GetobjectItem(actual,phyattr_mem[i]); if (NULL == tmp) //返回列表中找不到属性名 { cJSON_AddStringToObject(root,phyattr_mem[i],"NA"); } else { char *val_str = tmp->valuestring; cJSON_AddStringToObject(root,val_str); } ++i; } char *phyattr = cJSON_PrintUnformatted(root); printf("%s\n",phyattr); cJSON_Delete(root); cJSON_Delete(actual); return 0; }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐