cocos2dx jsoncpp
jsoncpp下载 http://sourceforge.net/projects/jsoncpp/
下载解压后用到的是include\json下面的头文件跟src\lib_json下的文件。
导入头文件
#include "json/json.h"
解析json
void parseJsoncpp()
{
/*{
"name":"more-top",
"age":27
}*/
unsigned long size;
char *file = (char *)CCFileUtils::sharedFileUtils()->getFileData("jsoncpptest.json","r",&size);
Json::Reader reader;
Json::Value root;
if (!reader.parse(std::string(file),root,false))
{
return ;
}
CCLog("jsoncpptest"); std::string name = root["name"].asString();
CCLog("name = %s",name.c_str()); int age = root["age"].asInt();
CCLog("name = %d",age); //---------------------------------------
/*[
{"name":"more11","age":100},
{"name":"more22","age":101}
]*/ file = (char *)CCFileUtils::sharedFileUtils()->getFileData("jsoncpptest2.json","r",&size);
if (!reader.parse(std::string(file),root,false))
{
return ;
}
CCLog("jsoncpptest2"); size = root.size();
for (int i = ; i < size; i++)
{
std::string name = root[i]["name"].asString();
CCLog("name = %s",name.c_str()); int age = root[i]["age"].asInt();
CCLog("name = %d",age); }
}
输出:
jsoncpptest
name = more-top
name = 27
jsoncpptest2
name = more11
name = 100
name = more22
name = 101
创建json
void createJsoncpp()
{
//[{"age":18,"name":"cocos2dx"},{"age":20,"name":"Hello"}]
Json::FastWriter writer;
Json::Value root;
Json::Value person; person["name"] = "cocos2dx";
person["age"] = ;
root.append(person); person["name"] = "Hello";
person["age"] = ;
root.append(person);
string json_file = writer.write(root); CCLog("%s",json_file.c_str());
char filePath[] = {'\0'};
memset(filePath,,sizeof(filePath));
strcat(filePath,CCFileUtils::sharedFileUtils()->getWritablePath().c_str());
strcat(filePath,"writeJsoncpp.json"); FILE *file = fopen(filePath,"w+"); fwrite(json_file.c_str(),json_file.size(),,file);
fclose(file); }
输出:
[{"age":18,"name":"cocos2dx"},{"age":20,"name":"Hello"}]
cocos2dx jsoncpp的更多相关文章
- (原创)cocos2dx使用jsoncpp的正确姿势
环境: vs2010, cocos2dx@2.1.4, win32, jsoncpp-src-0.5.0.tar.gz jsoncpp下载地址: http://sourceforge.net/proj ...
- cocos2d-x 读取 json 文件并用 jsoncpp 做解析
一码胜万言(请看注释) CclUtil.h // // CclUtil.h // PracticeDemo // // Created by kodeyang on 8/1/13. // // #if ...
- Cocos2d-x 3.x游戏开发之旅
Cocos2d-x 3.x游戏开发之旅 钟迪龙 著 ISBN 978-7-121-24276-2 2014年10月出版 定价:79.00元 516页 16开 内容提要 <Cocos2d-x ...
- 【Cocos2d-x游戏开发】解决Cocos2d-x中文乱码的三种方法
众所周知,Cocos2d-x是一款不错的开源引擎,但是在Cocos2d-x中直接使用中文是无法正确显示的.比如下面的情况: 解决这个问题常用的有三种方法:1.通过转换为UTF-8编码来显示.2.使用i ...
- 《Cocos2d-x实战 C++卷》上线了-源码-样章-感谢大家的支持
<Cocos2d-x实战 C++卷>上线了 感谢大家一直以来的支持! 全面介绍Cocos开发技巧,采用Cocos2d-x3.2版本,并且详细介绍跨平台移植已经多平台发布细节. · 各大商店 ...
- 【转】jsoncpp在xcode中的使用
http://blog.csdn.net/ashqal/article/details/8573392 考虑到cocos2dx需要使用jsoncpp做关卡的设置, 尝试用源代码直接放到项目以方便后期生 ...
- 《Cocos2d-x实战(卷Ⅰ):C++开发》
<Cocos2d-x实战(卷Ⅰ):C++开发> 基础篇 第1章 准备开始 1.1 本书学习路线图 1.2 使用实例代码 第2章 Cocos2d-x介绍与环境搭建 ...
- cocos2d-x高级学习
弱联网开发技术: libcurl 添加lib文件:libcurl_imp.lib pthreadVCE2.lib 添加头文件:#include"curl/curl.h" curl ...
- jsoncpp解析拼装数组
Cocos2d-x添加jsoncpp应该资料都有了,今天来讲讲数组的解析和拼装- int main() { 数组创建与分析: 例子一: string strValue = "{\" ...
随机推荐
- 取requests返回字典值用json()
python模块requests返回值用json()["h"][key]可以取出下面的value
- 如何在 Windows Azure 的虚拟机 ubuntu 上面安装和配置 openVPN(三)
第三步:安装openVPN 请打开 ubuntu 官方文档.然后,从上到下,按照步骤,输入执行命令.大家只需要执行到 First trouble shooting 之前即可. 不要怕麻烦,仔细读,一步 ...
- Windows7 32位下opencv与python2.66的环境配置
刚接触Python和OpenCV,对两者都不太了解,因为今后学习会使用到这两种工具,特此学习配置.PS:本帖适用小白. 一. 需要的文件 1. OpenCV 可用OpenCV-2.3.1-win-su ...
- centos 安装git 服务端
// 在服务端安装好git后,开始安装gitosis 3.在服务器安装gitosis sudo yum install python python-setuptools cd /usr/local/s ...
- 5个让人激动的Java项目
每个Java/JVM领域的技术专家都应从那些项目中获益,他们中有2011在SanJose举办的Jax 会议中提名为最好的技术产品奖的.我之所以选择它们,是因为它们可以广泛用于一系列的项目中,解决真实问 ...
- CSS 去掉IE10中type=password中的眼睛图标
在IE10中,input[type=password],如果我们输入内容后,内容会变成圆点,这与以前一样,但后面多了一个眼睛图标,我们鼠标移过去按下会出现输入内容.有时我们想去掉这功能.IE10允许我 ...
- Java设计模式系列之状态模式
状态模式(State)的定义 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新.允许一个对象在其内部状态改变时改变它的行为.对象看起来似乎修改了它 ...
- Spring EL method invocation example
In Spring EL, you can reference a bean, and nested properties using a 'dot (.)' symbol. For example, ...
- jQuery基础学习6——基本选择器
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- [置顶] 文件和目录(一)--unix环境高级编程
普通文件和目录linux中最多的两类文件,linux中一共有七种类型的文件,如下: 1.普通文件 2.目录 3.字符特殊设备 4.块特殊设备 5.FIFO,又叫命名管道 6.Socket,即套接字 7 ...