MT7681支持json数据解析(nxjson移植)

由于传输数据中需要用到解析json格式,只是解析收到的json数据,并不需要组建json数据,于是开始准备移植我认为最简单的json库cJson,结果放上去之后发现很多不行的地方

1、MT7681从硬件上不支持double类型

2、MT7681的SDK不支持math库,而cJson是需要这个库的!

QQ截图20160324220546

3、官方的团队已经在下支持cjson了,从mak/MT7681/flags_sta.mk的一个宏就能看出来了!

不过目前支持不完善,还不能用!

所以只好放弃了!

 

然后开始寻找其他的json库,百度了下,竟然没有什么有用的资料,真的很残废。。。

谷歌下,发现了一个libjson,尝试了几小时,发现他弄得真复杂,很难懂API,再找。。。

又找到了一个叫mjson的,结果也没找到很权威的网站和介绍。。。继续

被引导到了json的官网,发现了宝贝啊。。。http://www.json.org/

QQ截图20160324220739

C用来解析json的库竟然有那么多!!

随便点开几个看看,,最开始尝试的是microjson,下载后发现文件名就叫mjson.c/h,然后看了M’s JSON parser,发现他好像也叫mjson。。。醉了!!

不管那么多了,先玩玩microjson,几个小时的尝试和学习他们的例子,发现作者真的很懒,不写注释,连帮助信息也没有,有测试程序却不知道怎么入手。。。好不容入手了,结果发现虽然能实现我要的功能,却很难用!

再看看nxjson。。。很简单,很实用!!!

就他了。。。

下面就是官方的readme,介绍的很精简,但是却很实用!

移植上去,发现7681的sdk不支持errno.h,需要修改nxjson的源码,稍微改下就ok了!

下面放出来原始的源码和我修改后的源码,把nxjson.c放到cust目录,nxjson.h放到src/include/下即可!!

2016.03.25更新

解决解析int值的问题,解决assert函数不支持的问题,解决strtoll不支持的问题,去除double类型的支持。

nxjson.c

nxjson.h

官方源码包

yarosla-nxjson-afaf7f999a95.zip

官方地址:https://bitbucket.org/yarosla/nxjson/src

发表评论

电子邮件地址不会被公开。 必填项已用*标注