首页 > Cocos2D-X > cocos2d-x JsonCpp 导入和详细使用介绍
2012
10-11

cocos2d-x JsonCpp 导入和详细使用介绍

猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!

原文地址: http://www.cocos2dev.com/?p=299

Json我就不介绍了,我主要说下怎么在cocos2dx中加入并使用json,我选的是JsonCpp这个库。

一、首先去下载JsonCpp这个库。

解压后,找到include的文件夹。将它们复制到2dx工程的libs目录,然后加入到工程中。最后效果如下:(截图中其他的不要管,看include就可以了)。

cocos2d-x JsonCpp 导入和详细使用介绍 - 第1张  | Cocos2D开发网

好了,就这么简单,现在你可以使用jsoncpp这个库了,在使用的地方引用头文件json.h就可以了。

二、jsoncpp的一些使用方法介绍:(网上也有很多介绍,我只是写下我工作中遇到的一些)

1、初始化

Json::Value root;

Json::Reader reader;

reader.parse(“{“name”:”sunny”}”, root);

Reader可以用来初始化一个人json从字符串。

2、读取json文件初始化

这是我写的一个方法:

3、解析json

首先生成一个json

Json::Value myjson = getJsonFromFile(“test.json”);//利用上面的函数生成一个json。

int num = myJson[“num”].asInt();

string str = myJson[“name”].asString();

4、json数组

Json::Value myjson = getJsonFromFile(“test.json”);//利用上面的函数生成一个json。

int i = 0;

Json::Value arr = myjson[i];//获取arr数组的第一个元素

5、利用迭代器获取json的key。(有时候并不知道json的key,这个时候可以利用迭代器获取json的key)

Json::Value myjson = getJsonFromFile(“test.json”);//利用上面的函数生成一个json。

Json::Value::Members members(myjson.getMemberNames());

for (Json::Value::Members::iterator it = members.begin(); it != members.end(); ++it)  {
const std::string &key = *it;
}

6、自己拼装Json数组,(有时候发往服务器的数据是一个json数据)

Json::Value arr;

for(int i = 0 ;i < 5;++i){

Json::Value myjson = getJsonFromFile(“test.json”);//利用上面的函数生成一个json。

arr.append(protocolData);

}

如果想让这个jsonArr有key。

Json::Value arr2;

arr2[“array”] = arr;

OK ,目前只记得这些,等我想起其它的再补充。一些比较简单的没有都介绍。

 

20130402更新:

如果导入后发现无法识别json头文件的,请下载下面的源文件,里面包含了上面提到的libs文件

http://vdisk.weibo.com/s/vvUmP/1364549033

最后编辑:
作者:Houzi
Write the code. Change the world.
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

cocos2d-x JsonCpp 导入和详细使用介绍》有 51 条评论

  1. 古辰月 说:

    我也是按照上面的样子加入了include目录,但是编译的时候有错误。是库的连接错误

  2. 古辰月 说:

    只要在代码中加上json.h头文件 代码中写一行Json::Value root;运行就会有错误Undefined symbols for architecture i386: “Json::Value::Value(Json::ValueType)”, referenced from: showJson() in HelloWorldScene.o “Json::Value::~Value()”, referenced from: showJson() in HelloWorldScene.old: symbol(s) not found for architecture i386clang: error: linker command failed with exit code 1 (use -v to see invocation)

  3. 大脚 说:

    我也出现同样的错误,个人感觉不可能这么简单的导入就可以,应该还要用xcode导入什么东西。楼主能不能在详细说明下 啊。。。。

  4. caiyaguang 说:

    我的也是这个问题,没有人解决么

  5. yyzhou 说:

    点击工程,在build setting下面的 search paths栏目里面找到Header Search Paths,在最后面加上jsoncpp头文件所在位置即可(单击后就可以编辑了)。我加了”$(PROJECT_NAME)/libs/jsoncpp/include/json” 后通过。 嘎嘎

    • Artie 说:

      I do accept as true with all the ideas yov&8#217;ue offered to your post. They are really convincing and can certainly work. Still, the posts are very brief for novices. May just you please extend them a bit from subsequent time? Thank you for the post.

  6. Pingback 引用通告: themidsummer.co.uk

  7. Pingback 引用通告: hack like facebook

  8. Pingback 引用通告: Wine Gift Hampers Now

  9. Pingback 引用通告: More hints

  10. Pingback 引用通告: my blog

  11. Pingback 引用通告: chambres d'hôtes de charme

  12. Pingback 引用通告: go right here

  13. Pingback 引用通告: click here

  14. Pingback 引用通告: Lee Harbert

  15. Pingback 引用通告: check my blog

  16. Pingback 引用通告: conversion rate optimization

  17. Pingback 引用通告: boxershorts

  18. Pingback 引用通告: investing in silver online

  19. Pingback 引用通告: here are the findings

  20. Pingback 引用通告: sanitarios moviles lujosos

  21. Pingback 引用通告: vancouver wa plastic surgeon

  22. Pingback 引用通告: skype long distance relationship

  23. Pingback 引用通告: multiplayer games

  24. Pingback 引用通告: الموجي

  25. Pingback 引用通告: How To Grow Taller

  26. Pingback 引用通告: grammarly reviews

  27. Pingback 引用通告: Get More Info

  28. Pingback 引用通告: wikipedia reference

  29. Pingback 引用通告: save on nutritional products

  30. Pingback 引用通告: Alanya leiligheter

  31. Pingback 引用通告: chaussures

  32. Pingback 引用通告: barnett predator crossbow reviews

  33. Pingback 引用通告: schoenen en laarzen

  34. Pingback 引用通告: rating

  35. Pingback 引用通告: www.zalando-gutschein.biz

  36. Pingback 引用通告: www.otto-gutschein.net

  37. Pingback 引用通告: over at this website

  38. Pingback 引用通告: satılık dükkan

  39. Pingback 引用通告: carb backloading

  40. Pingback 引用通告: automatic sixpack review

  41. Pingback 引用通告: Chesapeake Pirates

  42. Pingback 引用通告: look here

  43. 落霞孤鹜 说:

    微盘现在不能下载

  44. 帅到掉渣!!!!

  45. 所以大花是遇到了呢~真好真好~

留下一个回复

你的email不会被公开。