Cocos2d-x   发布时间:2022-05-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Cocos2dx2.2.1 jsoncpp 解析json数据大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

jsoncpp 解析json数据

附:#include "Cocostudio/Json/lib_json/json_lib.h"

1.添加jsoncpp库的包含目录(引入头文件.h)

右击项目->属性->(C\C++常规)->附加包含目录(有编辑框下拉"编辑")->##\jsoncpp\include\json;

2.添加jsoncpp库的库目录

右击项目->属性->(连接器)常规->附加包含目录(有编辑框下拉"编辑")->##\jsoncpp\lib;

3.把库名称添加到附加依赖项

右击项目->属性->(连接器)输入->附加依赖项(有编辑框下拉"编辑")->json_vc71_libmtd.lib;

Code

引入头文件

#include "json.h"
#include <String>
using namespace std;

校验Code

//--------------name-start
    Json::FastWriter write;
    Json::reader reader;
    创建JSON数据
    ------先定义数据
    Json::Value map;
    map[name"]=Chen";
    map[age24;
    ------编码成json数据
    String jsonData =write.write(map);
    CCLOG(jsonData:%s",jsonData.c_str());
    打印结果 Cocos2d: jsonData:{"age":23,"name":"Himi"}
  
    解析JSON数据
    --先将数据解析到 Value(parseData)中
    Json::Value parseData;
    reader.parse(jsonData,parseData);
  
    Json::Value valuename = default";
    Json::Value valueAge = -1;
    valuename = parseData.get(:rgb(128,valueName);
    valueAge = parseData.:rgb(0,valueAgE);
  
    const char* nameStr =valuename.asCString() ;
    int age = valueAge.asInt();
    CCLOG(name:%s,age:%d:rgb(128,nameStr,agE);
    打印结果:Cocos2d: name:Himi,age:23
  
    使用get函数时,第一个参数是key的名, 第二个参数是如果找不到对应key的默认Value
    举例我们将name和age,故意写错:
  
    Json::Value parseData;
    reader.parse(jsonData,parseData);
//    
    Json::Value valuename = "默认";
    Json::Value valueAge = -1;
    valuename = parseData.get("nameHimi",valueName);
    valueAge = parseData.get("ageHimi",valueAgE);
    const char* nameStr =valuename.asCString() ;
    int age = valueAge.asInt();
    CCLOG("name:%s,age:%d",0); line-height:1.5!important">打印结果:Cocos2d: name:默认,age:-1
  
    复杂一点JSON的编写和解析
    Json::Value root;
    Json::Value array;
    arraY[arrkey1arrValue1";
    arraY[arrKey2arrValue2arrkey3arrValue3";
    root[arrayKey"] =array;
    String hJsonData = write.write(root);
    CCLOG(the complex json data:%s:rgb(128,hJsonData.c_str());
    打印结果 Cocos2d: 复杂一点的JSON格式数据:{"arrayKey":{"arrkey1":"arrValue1","arrKey2":"arrValue2","arrkey3":"arrValue3"}}
  
    Json::Value parseRoot;
    Json::Value parseArray;
    reader.parse(hJsonData,parseRoot);
    parseArray = parseRoot.:rgb(0,parseArray);
  
    CCLOG(the getTing data:%s,%s,%s:rgb(128,parseArray.:rgb(0,NULL).asCString(),NULL).asCString());
    打印结果:Cocos2d: 解析出的数据:arrValue1,arrValue2,arrValue3

大佬总结

以上是大佬教程为你收集整理的Cocos2dx2.2.1 jsoncpp 解析json数据全部内容,希望文章能够帮你解决Cocos2dx2.2.1 jsoncpp 解析json数据所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。