转自:http://blog.csdn.net/wangbin_jxust/article/details/9707873
cocos2dx本身没有json解析类库,我们这里引入libjson进行解析。下载地址:http://sourceforge.net/projects/libjson/files/
我目前使用的版本是7.6.1。
1.下载libjson并解压
下载后,解压出来,这里对我们有用的文件是:
libjson.h;
JSONOptions.h;
_internal->Source文件夹下的所有文件;
_internal->Dependencies文件夹下的所有文件。
将这些文件和文件夹复制出来,放到项目中的classes目录下,注意:文件层次不能改变。
![](http://images0.cnblogs.com/i/83792/201408/071700563343284.png)
‘![](//images0.cnblogs.com/i/83792/201408/071701033978975.png)
![](http://images0.cnblogs.com/i/83792/201408/071701033978975.png)
然后将libjson里的头文化和cpp文件添加进来。
![](http://images0.cnblogs.com/i/83792/201408/071701089596707.png)
下图是我添加后的文件;
![](http://images0.cnblogs.com/i/83792/201408/071701141625097.png)
3.进行Json解析
先在代码中引入libjson:
#include "libjson.h"
然后就可以写Json解析类了。如果不太会,可以参考下载的libjson文件夹下->Getting Started->C++ Interface中的文档。
JSONNode n(JSON_NODE); n.push_back(JSONNode("RootA", "Value in parent node")); JSONNode c(JSON_NODE); c.set_name("ChildNode"); c.push_back(JSONNode("ChildA", "String Value")); c.push_back(JSONNode("ChildB", 42)); n.push_back(c); std::string jc = n.write_formatted(); std::cout << jc << std::endl;
OK,然后运行并查看输出。
![](http://images0.cnblogs.com/i/83792/201408/071701185686844.png)