永发信息网

json我就不介绍了,我主要说下怎么在cocos2dx中加入并使用json,我

答案:1  悬赏:60  手机版
解决时间 2021-11-11 12:10
json我就不介绍了,我主要说下怎么在cocos2dx中加入并使用json,我
最佳答案
一、首先去下载JsonCpp这个库。
  解压后,找到include的文件夹。将它们复制到2dx工程的libs目录,然后加入到工程中。
  
  你可以使用jsoncpp这个库了,在使用的地方引用头文件json.h就可以了。
  
  二、jsoncpp的一些使用方法介绍:(网上也有很多介绍,我只是写下我工作中遇到的一些)
  1、初始化
  Json::Value root;

  Json::Reader reader;

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

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

  2、读取json文件初始化
  这是我写的一个方法:
  Json::Value BYJsonDataManager::getJsonFromFile(const char* fileName){
  Json::Reader reader;
  ifstream file(getFullPath(fileName));
  CCAssert(file.is_open(), "file is open fail!");
  Json::Value root;
  if (!reader.parse(file, root, false )) {
  CCAssert(false, "Json::Reader Parse error!");
  }
  return root;
  }

  const char* BYJsonDataManager::getFullPath(const char* path){
  return cocos2d::CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(path);
  }

  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 ,目前只记得这些,等我想起其它的再补充。一些比较简单的没有都介绍。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎样把被子快速压实
天天音乐(礼贤路)地址在哪,我要去那里办事,
分析伏尔加河流域的开发对何种鱼类繁殖产生的
次去日本,自由行是订机加酒好还是自己解决机
宠极爱还歇是什么意思
22-1.6×7怎么简算
钩鲫鱼如何看黑漂起竿?
护士资格证报考条件
绘制如图所示三铰门式钢架的弯矩图
三星a,7刷机不会请求大神教。
艺馨音乐艺术培训中心地址在哪,我要去那里办
买的二手房,之前的房主刷过墙了,白色的,想
万源的旅游
鼎声音乐教育中心地址在什么地方,我要处理点
社会契约论的译本介绍
推荐资讯
被抑不求急明什么意思
大话2移民或移区要怎么弄??
醇烃基是什么?
胭脂科长仙道枫的身份是什么 仙道枫和周浩宇
兰舍硅藻泥与卡西米硅藻泥的区别
男生1.71m 这个身高算矮么?
芋头外部发黄,里面是白的还能吃?
本田1.5l和1.8l有多大区别对待
理光2014ad复印机鼓组件多少钱
读初中的儿子每天给我这个妈妈打个电话问候正
mdi胶水有毒吗
激励女人减肥的主题推广词语
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?