qq201314q 发表于 2018-9-12 14:34:54

cjson解析后的数据怎么保存起来??

本帖最后由 qq201314q 于 2018-9-12 14:37 编辑

怎么把cjson解析出来的数据保存到一个数组中??代码大致如下
typedef struct data
{
charbo;
charme;
char   idd;
}data;data device_MAX[];
//{"bo":"arr", "me": 2000, "idd":1000}

voidjsonParse()
{
root = cJSON_Parse(rtext);
cJSON *bo = cJSON_GetObjectItem(it, "bo");

cJSON *me = cJSON_GetObjectItem(it, "me");

cJSON *idd = cJSON_GetObjectItem(it, "idd");

}


xiajintaord 发表于 2018-9-12 15:09:09

每个字段解析出来,赋值到结构体对应的成员变量就OK

stm1024 发表于 2018-9-12 17:37:15

你想要怎么保存?放到TF卡里面嘛?可以使用FatFs之类的文件系统,这样还可以支持电脑查看。
PS:你解析json的库是什么?

114-355435 发表于 2018-9-12 17:43:21

这么高深

feixiang20 发表于 2018-9-12 23:00:47

cJSON是使用链表来存储数据的,其访问方式很像一颗树。每一个节点可以有兄弟节点,通过next/prev指针来查找,它类似双向链表;每个节点也可以有孩子节点,通过child指针来访问,进入下一层。只有节点是对象或数组时才可以有孩子节点。

qq201314q 发表于 2018-9-13 11:02:43

stm1024 发表于 2018-9-12 17:37
你想要怎么保存?放到TF卡里面嘛?可以使用FatFs之类的文件系统,这样还可以支持电脑查看。
PS:你解析json ...

cjson 我想保存到结构体的数组里面,通过读取数组把数据显示到LCD屏

stm1024 发表于 2018-9-13 11:42:16

用函数sprintf、strcpy、或者memcpy之类的把数据拷贝到结构体中就可以了。取决于你使用的cJSON *me数据类型和你结构体里面的定义,建议先用ascii做测试。
页: [1]
查看完整版本: cjson解析后的数据怎么保存起来??