第一步:首先弄一个 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. VB.NET的前世今生

    [前言]初次见到这个强大的东西.一看名字就没有了陌生感,由于它和我曾经见过的VB肯定有非常多的联系. 俗话说,看人看相,了解看感觉(O(∩_∩)O~~几乎相同这个意思吧). 要想了解VB.net就要从 ...

  2. 生成n个元素的全排列 C实现

    近期在准备复习算法设计的考试,下边记录一些,看笔记时突然想到的解法. 问题是这种 用递归实现 n 个元素的全排列. 当时老师给出的解答是 假定第i个元素 ri 放在首位,于是 f(r1,r2,-,rn ...

  3. Convex optimization 凸优化

    zh.wikipedia.org/wiki/凸優化 以下问题都是凸优化问题,或可以通过改变变量而转化为凸优化问题:[5] 最小二乘 线性规划 线性约束的二次规划 半正定规划 Convex functi ...

  4. Java基础 - 常量与变量

    A:常量 内存中的一小块区域,在程序执行过程中,其值不可以发生改变的量称为常量 常量的几种表现形式: a:字符串常量 "HelloWorld" b:整数常量 12 c:小数常量 1 ...

  5. Swift来了,是不是能够入手IOS开发了?

    在今天的WWDC2014上,苹果公布了一种全新的Swift.在苹果高管 Craig Federighi 的描写叙述中,Swift 在各个方面优于 Objective-C,也不会有那么多复杂的符号和表达 ...

  6. spark在yarn-cluster上面执行报错

    在单机模式下执行成功的spark程序,在yarn上面就报错.异常信息如下: // :: INFO DAGScheduler: Completed ResultTask(, ) // :: INFO D ...

  7. 蓝屏代码stop:0X000000EA(0X85E286B8,0X8635F210,0XF7A53CBC,0X00000001)

    你这是显卡驱动问题,我把蓝屏代码都给你,以后在出现蓝屏自己看看行了. 1.0x0000000A:IRQL_NOT_LESS_OR_EQUAL ◆错误分析:主要是由问题的驱动程序.有缺陷或不兼容的硬件与 ...

  8. SpringBoot学习笔记(2):引入Spring Security

    SpringBoot学习笔记(2):用Spring Security来保护你的应用 快速开始 本指南将引导您完成使用受Spring Security保护的资源创建简单Web应用程序的过程. 参考资料: ...

  9. HDU - 1114 Piggy-Bank 【完全背包】

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1114 题意 给出一个储钱罐 不知道里面有多少钱 但是可以通过重量来判断 先给出空储钱罐的重量 再给出装 ...

  10. UIImageView 获取图片的 宽 高

    该文章纯属这两天开发的经验之谈 并且也是平常没注意 这回发现的一个小方法 并且很实用 在开发中 提高了很大的效率 更加符合高保真的要求 通常 美术 切的一些图片 需要 :1还原的 现在 我们一般支持i ...