【转】jsoncpp在xcode中的使用

Posted on 2013-09-10 09:28  Flex/AS Programmer  阅读(856)  评论(0编辑  收藏  举报

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文件为

[javascript] view plaincopy
  1. {  
  2.     "name" : "小楼一夜听春雨",  
  3.     "age" : 27  
  4. }  

cpp文件为

  1. //  
  2. //  main.cpp  
  3. //  JsonCppDemo  
  4. //  
  5. //  Created by ashqal on 13-2-6.  
  6. //  Copyright (c) 2013年 ashqal. All rights reserved.  
  7. //  
  8.   
  9. #include <iostream>  
  10. #include <fstream>  
  11. #include "json.h"  
  12.   
  13. int main(int argc, const char * argv[])  
  14. {  
  15.   
  16.       
  17.       
  18.     std::ifstream ifs;  
  19.     ifs.open("/Users/ashqal/wwwroot/test.json");  
  20.     if( !ifs.is_open() )  
  21.     {  
  22.         std::cout << "open failed\n";  
  23.     }  
  24.     //assert(ifs.is_open());  
  25.       
  26.     Json::Reader reader;  
  27.     Json::Value root;  
  28.     if (!reader.parse(ifs, root, false))  
  29.     {  
  30.         std::cout << "failed!\n";  
  31.         return -1;  
  32.     }  
  33.       
  34.     std::string name = root["name"].asString();  
  35.     int age = root["age"].asInt();  
  36.       
  37.     std::cout<<name<<std::endl;  
  38.     std::cout<<age<<std::endl;  
  39.       
  40.     // insert code here...  
  41.     std::cout << "Hello, World!\n";  
  42.     return 0;  
  43. }  

上述代码来自

http://www.cnblogs.com/kex1n/archive/2011/12/02/2272328.html

Copyright © 2024 Flex/AS Programmer
Powered by .NET 8.0 on Kubernetes