第一步:首先弄一个 json 文件   我这里成为 config.json 内容如下

{
"":
{
"id":,
"desc":"中华人民共和国"
},
"":
{
"id":,
"desc":"中国人民银行"
}
}

第二步:添加解析 json 文件的函数    记得 首先声明一个全局的 map 容器 或者成员的 map 容器  map_ForText

int HelloWorld::parse_json()
{
unsigned long size = ;
unsigned char* pData = nullptr; pData = CCFileUtils::sharedFileUtils()->getFileData("config.json","rb",&size);
if( !pData )
return -; CSJson::Reader j_reader;
CSJson::Value root_value; if( !j_reader.parse((const char*)pData, (const char*)(pData+size), root_value) )
{
CCLOG("/n%s/n", j_reader.getFormattedErrorMessages().data());
CC_SAFE_DELETE_ARRAY(pData);
return -;
} for( CSJson::Value::iterator iter=root_value.begin(); iter!=root_value.end(); ++iter )
{
int id = ;
string str = ""; CSJson::Value &v = (*iter)["id"];
if( !v.empty() )
{
id = v.asInt();
} v = (*iter)["desc"];
if( !v.empty() )
{
str = v.asString();
}
map_ForText.insert(make_pair(id,str));
} return ;
}

第三步:添加获得字符串的函数

const char* HelloWorld::get_text(int id)
{
CCLOG("This is HelloWorld::get_text");
auto iter = map_ForText.find(id);
if( iter != map_ForText.end() )
{
return (iter->second).c_str();
}
return "";
}

第四步:使用cocoStudio编辑器 编辑一个界面  创建一个 文本框(UILabel)  到这个界面上    如下图

然后将其导出 ,这里我创建时命名为 NewProject  这样生成后  导出大图  将会导出文件 NewProject_1.ExportJson

第五步:把这个界面加载到 场景中并初始化 这个 UILabel 的内容 为 “中华人民共和国” (对应 .json 文件的 id 为1000)

parse_json();  //首先调用解析文件的函数

UILayer* widLayer = UILayer::create();
UIWidget* widget = CCUIHELPER->createWidgetFromJsonFile("NewProject_1.ExportJson");
UILabel* lab_text = static_cast<UILabel*>(widget->getChildByName("lab_text_info"));
const char* text = get_text();
lab_text->setText(text); widLayer->addWidget(widget);
this->addChild(widLayer);

这样之后,就会出现我们期待已久的效果,添加文件中的中文 输出到屏幕上  如下如所示:(当然在界面上我还添加了一些其他的元素 ,不过这不影响我们期待的效果)

“中华人民共和国” 即 对应 我们之前的 json 文件 id:1000 所对应的内容

初来乍到,请多赐教 ……  如有意见或建议,请留言 18310094097@163.com

json 文件解析与应用的更多相关文章

  1. Golang Json文件解析为结构体工具-json2go

    代码地址如下:http://www.demodashi.com/demo/14946.html 概述 json2go是一个基于Golang开发的轻量json文件解析.转换命令行工具,目前支持转换输出到 ...

  2. PHP JSON文件解析并获取key、value,判断key是否存在

    /****************************************************************************** * PHP JSON文件解析并获取key ...

  3. 【微信】微信小程序 微信开发工具中新创建的json文件,编译报错VM1781:2 pages/module/module.json 文件解析错误 SyntaxError: Unexpected end of JSON input

    如果新创建报错:编译报错VM1781:2 pages/module/module.json 文件解析错误  SyntaxError: Unexpected end of JSON input 解决方法 ...

  4. Json文件解析(下)

    Json文件解析(下) 代码地址:https://github.com/nlohmann/json   从STL容器转换 任何序列容器(std::array,std::vector,std::dequ ...

  5. Json文件解析(上)

    Json文件解析(上) 代码地址:https://github.com/nlohmann/json 自述文件 alt=GitHub赞助商 data-canonical-src="https: ...

  6. NPOI+Json文件解析Excel

    记点笔记,加深印象!最近有个导入Excel工能需要完成,Excel列名是中文的,导入Excel我用的NPOI插件,如果不对Excel做解析,列名有可能会给我带来一些字符方面的麻烦,于是想到了一个比较l ...

  7. Twaver的mono-desiner导出的json文件解析

    以画的交换机为例,其他大概都差不多. 利用Twaver做出交换机模型如图1所示,其中,每一个端口都是一个单独的对象.具体Twaver操作流程参见网址:http://twaver.servasoft.c ...

  8. json文件解析

    场景 读取json文件,读取子域名扫描结果 实现 >>> import json >>> with open("C:\\Users\\Windows32\ ...

  9. HBuilder开发移动App——manifest.json文件解析

    以前做过Android App开发,对于各项配置都是在AndroidManifest.xml文件中完成的,包括权限的设定.图标.标签.App的名字.Activity注册等等 使用HBuilder开发移 ...

随机推荐

  1. Asp.Net mvc4 项目 在vs中调试正常 在IIS发布后连接oracle数据库时提示数据库连接关闭

    解决办法: 1.打开iis,找到发布的程序 2.右键单击“TAKANAPP” 从右键菜单选择“管理应用程序”--“高级设置....” 在打开的高级设置  面板 查看对应的应用程序池 名称 3.设置应用 ...

  2. elasticsearch从入门到出门-04-入门的几个需求练手

    第一个分析需求:计算每个tag下的商品数量 GET /ecommerce/product/_search{  "aggs": {    "group_by_tags&qu ...

  3. HTML/CSS/JS初始化

    CSS <link type="text/css" href="http://www.mazey.cn/css/mazey-base.css" rel=& ...

  4. fkwの题目(祝松松生日快乐!)

    麓山国际实验学校 傅少,匡哥和巨夫出的题目(共3道) 一.题目概况 题目名称 打地铺 泡妹子 开房间 题目类型 传统 传统 传统 可执行文件名 deeeep soccer room 输入文件名 dee ...

  5. [luogu3413]萌数

    [luogu3413]萌数 luogu 考虑数位dp 怎么判断一个数是不是萌数? 只要知道其中某一位和它的前一位相等或者和前一位的前一位相等,那么它就是一个萌数 什么样的数不是萌数? 对于它的每一位都 ...

  6. Linux的分区

    1.磁盘分区 主分区: 最多只能有4个 扩展分区: 最多只能有1个 主分区加扩展分区最多只能有4个 不能写入数据,只能包含逻辑逻辑分区 逻辑分区: 磁盘号从5开始,只要看到磁盘号是5,一定是逻辑分区 ...

  7. PHP中ob系列函数讲解(浏览器缓存技术) (转)

    Output Control 函数可以让你自由控制脚本中数据的输出.它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况. 输出控制函数不对使用 header() 或 setcooki ...

  8. 解决IntelliJ IDEA无法读取配置文件的问题(转发:https://www.cnblogs.com/Sinte-Beuve/p/5730572.html)

    最近在学Mybatis,按照视频的讲解在项目的某个包里建立配置文件,然后读取配置文件,但是一直提示异常. 读取配置文件的为官方代码: String resource = "mybatis-c ...

  9. Linux命令:grep,报错Binary file (standard input) matches

    在Linux使用grep命令,从文件中抓取显示特定的信息,如下: cat 文件名 | grep 特定条件 --->   cat xxxx | grep 12345 结果报错:Binary fil ...

  10. 使用JavaScript定义一个微信小程序插件样例

    var wxTimer = new wxTimer({ beginTime: "00:00:20", complete: function () { wx.redirectTo({ ...