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的更多相关文章

  1. (原创)cocos2dx使用jsoncpp的正确姿势

    环境: vs2010, cocos2dx@2.1.4, win32, jsoncpp-src-0.5.0.tar.gz jsoncpp下载地址: http://sourceforge.net/proj ...

  2. cocos2d-x 读取 json 文件并用 jsoncpp 做解析

    一码胜万言(请看注释) CclUtil.h // // CclUtil.h // PracticeDemo // // Created by kodeyang on 8/1/13. // // #if ...

  3. Cocos2d-x 3.x游戏开发之旅

    Cocos2d-x 3.x游戏开发之旅 钟迪龙 著   ISBN 978-7-121-24276-2 2014年10月出版 定价:79.00元 516页 16开 内容提要 <Cocos2d-x ...

  4. 【Cocos2d-x游戏开发】解决Cocos2d-x中文乱码的三种方法

    众所周知,Cocos2d-x是一款不错的开源引擎,但是在Cocos2d-x中直接使用中文是无法正确显示的.比如下面的情况: 解决这个问题常用的有三种方法:1.通过转换为UTF-8编码来显示.2.使用i ...

  5. 《Cocos2d-x实战 C++卷》上线了-源码-样章-感谢大家的支持

    <Cocos2d-x实战 C++卷>上线了 感谢大家一直以来的支持! 全面介绍Cocos开发技巧,采用Cocos2d-x3.2版本,并且详细介绍跨平台移植已经多平台发布细节. · 各大商店 ...

  6. 【转】jsoncpp在xcode中的使用

    http://blog.csdn.net/ashqal/article/details/8573392 考虑到cocos2dx需要使用jsoncpp做关卡的设置, 尝试用源代码直接放到项目以方便后期生 ...

  7. 《Cocos2d-x实战(卷Ⅰ):C++开发》

    <Cocos2d-x实战(卷Ⅰ):C++开发>   基础篇 第1章    准备开始 1.1   本书学习路线图 1.2   使用实例代码   第2章    Cocos2d-x介绍与环境搭建 ...

  8. cocos2d-x高级学习

    弱联网开发技术: libcurl 添加lib文件:libcurl_imp.lib  pthreadVCE2.lib 添加头文件:#include"curl/curl.h" curl ...

  9. jsoncpp解析拼装数组

    Cocos2d-x添加jsoncpp应该资料都有了,今天来讲讲数组的解析和拼装- int main() { 数组创建与分析: 例子一: string strValue = "{\" ...

随机推荐

  1. IOS 时间 日历 处理集合

    1.获得当前时间 从1970开始的秒数 NSTimeInterval time = [[NSDate date[ timeIntervalSince1970]]; NSString * str = [ ...

  2. 【剑指offer 面试题14】调整数组顺序使奇数位于偶数前面

    思路: 头尾指针,向中间遍历,依据条件交换元素. #include <iostream> using namespace std; void reOrder(int *pData, uns ...

  3. mysql EF

    使用 mysql-installer-community-5.6.26.0.msi visual studio 2013 update 4版 Install-Package EntityFramewo ...

  4. adb常用命令介绍

    adb connect 命令格式:adb connect <host>[:<port>] 作用:connect to a device via TCP/IP,Port 5555 ...

  5. Redis3.0 Install

    Installation Download, extract and compile Redis with: $ wget http://download.redis.io/releases/redi ...

  6. 《Java数据结构与算法》笔记-CH2有序数组

    /** * 上个例子是无序数组,并且没有考虑重复元素的情况. * 下面来设计一个有序数组,我们设定不允许重复,这样提高查找的速度,但是降低了插入操作的速度. * 1.线性查找 * 2.二分查找 * 有 ...

  7. 修复Debian(Ubuntu)Grub2 引导

    重装win7, 之前的系统debian 的引导就没有了. 而debian 的盘似乎没有ubuntu的livecd模式,于是用ultraISO将ubuntu的ios文件写入到u盘中. boot时选择启动 ...

  8. Spring bean configuration inheritance

    In Spring, the inheritance is supported in bean configuration for a bean to share common values, pro ...

  9. MSGPACK(一)

    MSGPACK跨平台的数据序列规范,为多种语言所支持.用它序列还是还原数据都异常方便. 而且它支持序列的数据格式非常之多,因为它支持的数据格式多,所以MSGPACK的第二功用:缓存. DELPHI的M ...

  10. Linux date命令 - 显示和设置系统日期与时间

    操作系统上的时间也许只是当做一个时钟.特别在控制台下, 我们通常并不认为时间有什么重要的.但是对于管理员,这种认识是错误的.你知道错误的日期和时间会导致你不能编译程序么? 因为日期和时间很重要,这或许 ...