json 文件解析与应用
第一步:首先弄一个 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 文件解析与应用的更多相关文章
- Golang Json文件解析为结构体工具-json2go
		
代码地址如下:http://www.demodashi.com/demo/14946.html 概述 json2go是一个基于Golang开发的轻量json文件解析.转换命令行工具,目前支持转换输出到 ...
 - PHP JSON文件解析并获取key、value,判断key是否存在
		
/****************************************************************************** * PHP JSON文件解析并获取key ...
 - 【微信】微信小程序  微信开发工具中新创建的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 解决方法 ...
 - Json文件解析(下)
		
Json文件解析(下) 代码地址:https://github.com/nlohmann/json 从STL容器转换 任何序列容器(std::array,std::vector,std::dequ ...
 - Json文件解析(上)
		
Json文件解析(上) 代码地址:https://github.com/nlohmann/json 自述文件 alt=GitHub赞助商 data-canonical-src="https: ...
 - NPOI+Json文件解析Excel
		
记点笔记,加深印象!最近有个导入Excel工能需要完成,Excel列名是中文的,导入Excel我用的NPOI插件,如果不对Excel做解析,列名有可能会给我带来一些字符方面的麻烦,于是想到了一个比较l ...
 - Twaver的mono-desiner导出的json文件解析
		
以画的交换机为例,其他大概都差不多. 利用Twaver做出交换机模型如图1所示,其中,每一个端口都是一个单独的对象.具体Twaver操作流程参见网址:http://twaver.servasoft.c ...
 - json文件解析
		
场景 读取json文件,读取子域名扫描结果 实现 >>> import json >>> with open("C:\\Users\\Windows32\ ...
 - HBuilder开发移动App——manifest.json文件解析
		
以前做过Android App开发,对于各项配置都是在AndroidManifest.xml文件中完成的,包括权限的设定.图标.标签.App的名字.Activity注册等等 使用HBuilder开发移 ...
 
随机推荐
- vi相关命令
			
vi相关命令在行首加# :% s/^/# 删除# :% s/#//在行末加# :% s/$/# 删除 :% s/#$ ...
 - html5小趣味知识点系列(一)autofocus
			
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
 - Unity Texture2D的sRGB(Color Texture)的作用
			
在gramma空间下,勾选与否无关. 在liner空间下,勾选shader会自动将读到的像素作gramma矫正,即x的0.45次方 不勾选,shader读到的就是原始的颜色值 然后unity如果选了g ...
 - mysql主从:主键冲突问题
			
1.检查从库 show slave status \G; Slave_IO_Running: YesSlave_SQL_Running: No 2.出现类似如下的报错: Last_SQL_Error: ...
 - 【BZOJ5016】[Snoi2017]一个简单的询问 莫队
			
[BZOJ5016][Snoi2017]一个简单的询问 Description 给你一个长度为N的序列ai,1≤i≤N和q组询问,每组询问读入l1,r1,l2,r2,需输出 get(l,r,x)表示计 ...
 - java操作文件流对象
			
所有流对象 InputStream 字节流 FileInputStream 字节流 专门读写非文本文件的 BufferedInputStream 高效流 OutPutS ...
 - Latent Activity Trajectory (LAT)
			
https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/funcZone_TKDE_Zheng.pdf Specific ...
 - git push问题 objects/pack/tmp_pack_XXXXXX': Permission denied
			
1.上传时的权限问题 在执行git push origin master之后,上传过程中报出如下错误: objects/pack/tmp_pack_XXXXXX': Permission denied ...
 - H5 Video 去除 下载按钮 禁用右键
			
<style type="text/css"> video::-webkit-media-controls-enclosure { overflow:hidden; } ...
 - 有关numpy.random下的API具体含义
			
1.numpy.random.random(size=None) Return random floats in the half-open interval [0.0, 1.0). 返回size大小 ...