http://blog.csdn.net/ashqal/article/details/8573392
考虑到cocos2dx需要使用jsoncpp做关卡的设置,
尝试用源代码直接放到项目以方便后期生成ios和android平台使用
首先从github下载最新的jsoncpp代码
https://github.com/rboulton/jsoncpp/tree/master/jsoncpp
下来后解压复制到项目文件夹的根目录(不同位置会影响后面的配置)
现在文档的路径为
JsonCppDemo/jsoncpp
JsonCppDemo/JsonCppDemo
JsonCppDemo/JsonCppDemo.xcodeproj
然后在xcode中右击项目名称,选择Add File to “JsonCppDemo”
然后去掉几个不需要的目录
jsoncpp/src/jsontestrunner
jsoncpp/src/test_lib_json
jsoncpp/test/
最后一步,设置Header search path为$(SRCROOT)/jsoncpp/include
接下来在main函数里调用试试
json文件为
- {
- "name" : "小楼一夜听春雨",
- "age" : 27
- }
cpp文件为
- //
- // main.cpp
- // JsonCppDemo
- //
- // Created by ashqal on 13-2-6.
- // Copyright (c) 2013年 ashqal. All rights reserved.
- //
- #include <iostream>
- #include <fstream>
- #include "json.h"
- int main(int argc, const char * argv[])
- {
- std::ifstream ifs;
- ifs.open("/Users/ashqal/wwwroot/test.json");
- if( !ifs.is_open() )
- {
- std::cout << "open failed ";
- }
- //assert(ifs.is_open());
- Json::Reader reader;
- Json::Value root;
- if (!reader.parse(ifs, root, false))
- {
- std::cout << "failed! ";
- return -1;
- }
- std::string name = root["name"].asString();
- int age = root["age"].asInt();
- std::cout<<name<<std::endl;
- std::cout<<age<<std::endl;
- // insert code here...
- std::cout << "Hello, World! ";
- return 0;
- }
上述代码来自
http://www.cnblogs.com/kex1n/archive/2011/12/02/2272328.html