JSON resource 启示
好久没写博客了,刚走完20000步,不废话了,先吐为快。

上面的en-us.json 是一个简单得不能再简单的json对象,当你写下"key-2": "duplicated-key-2"时,你是否意识到,当前这个字面值JSON对象,已经包含了重复的key,可惜我们的VS2013并未给出提示信息。再来看看VS Code:

真是感激涕零,太爱你了。
好了,先来看看js是如何解析这个en-us.json。在en-us.json所在的文件夹中,新建res-tool.js,如下:
var fs=require('fs');
var path = require('path');
var jsonStr="";
fs.readFile(path.join(__dirname, 'en-us.json'), function (err,bytesRead) {
if (err) throw err;
var data=JSON.parse(bytesRead);
jsonStr=JSON.stringify(data);
//check if the json string are the same as it was in the en-us.json
console.log(jsonStr);
});
运行node res-tool.js后,得到结果如下:

我们发现,如果key相同,后面的value会覆盖前面的value。有人说对象就是键值对的集合,而数学上的集合有三大特性:确定,互异,无序。这里不允许key相同的键值对存在,只能保留一个,如果再说对象是键值对的集合,从数学上,好像有点说不太过去:)
哎,怎么破,我不想写啥子tool.js, 写了别人也没兴趣看,好了,看插件,一搜下一跳,真的是啥子都有。。。

Step1:选中json字面值对象

Step2:按组合键 Ctrl + Shift + P

Step3:输入sort,选择Sort JSON

Step4: 顺序排好了(升序,降序都可以),如下

好了,今天的工作,得到了完美的解决,博客写了1个小时20分钟,晚安了!
JSON resource 启示的更多相关文章
- angular中使用ngResource模块构建RESTful架构
ngResource模块是angular专门为RESTful架构而设计的一个模块,它提供了'$resource'模块,$resource模块是基于$http的一个封装.下面来看看它的详细用法 1.引入 ...
- h5应用缓存及收藏时Icon显示
h5应用实现离线缓存,加载后,断网仍然可以继续使用. 一.需求 转行做h5,目前做赛道游戏,动手做了个赛道编辑器web版的,由于web版需要开启服务器才能使用,策划要想回家使用就要发布到外网服务器了, ...
- angular学习笔记(二十八)-$http(6)-使用ngResource模块构建RESTful架构
ngResource模块是angular专门为RESTful架构而设计的一个模块,它提供了'$resource'模块,$resource模块是基于$http的一个封装.下面来看看它的详细用法 1.引入 ...
- Egret官方案例学习笔记
1.资源记载方式 (1)Egret引擎是2.0.5. (2)resource/resource.json文件是: { "resources": [ { "name&quo ...
- Egret引擎随学随机
1.纹理集实际上就是将一些零碎的小图放到一张大图当中.游戏中也经常使用到纹理集.使用纹理集的好处很多,我们通过将大量的图片拼合为一张图片从而减少网络请求,原先加载数次的图片资源现在加载一次即可.同时, ...
- 深入解析DC/OS 1.8 – 高可靠的微服务及大数据管理平台
深入解析DC/OS 1.8 – 高可靠的微服务及大数据管理平台 大家好,欢迎大家参加这次DC/OS的技术分享. 先做个自我介绍,刘超,Linker Networks首席架构师,Open DC/OS社区 ...
- [Farcol] Introduce
Use the Falcor Router to create a Virtual JSON resource. In this tutorial we will use Falcor’s expre ...
- Egret 入门
居然使用 TyptScript... 先贴手册地址:http://www.typescriptlang.org/docs/tutorial.html. 先要接受一个诡异的写法: private loa ...
- [Falcor] Return the data from server
<!-- index.html --> <html> <head> <!-- Do _not_ rely on this URL in production. ...
随机推荐
- SHELL编写NGINX自动部署脚本
1.功能描述 1. 安装支持包,从软件源下载自定义的NGINX包,创建NGINX用户和用户组. 2. 安装并初始化NGINX配置. 3. 运行NGINX并检测运行状态. 2.实现 源码如下: #!/b ...
- noip2012 开车旅行
此题100分的解法就是先预处理出每个点的下一个点之后倍增就好了.其实并没有太大难度. pbihao用双向链表写过了此题.在本地上我treap狂操他,but在rqnoj上,我依靠反复提交才A掉此题(最后 ...
- js cookie
cookie:cookis:储存数据,当用户访问了某个网站的时候,我们就可以通过cookie来向访问者电脑上储存数据1)不同浏览器的存放cookie位置不一样,也是不能通用的2)cookie的存储是以 ...
- @Column
@Column标记表示所持久化属性所映射表中的字段,该注释的属性定义如下: @Target({METHOD, FIELD}) @Retention(RUNTIME) public @interface ...
- 高性能异步图片加载器的JS库:lazysizes
<script src="lazysizes.min.js" async=""></script> 使用示例 <!-- non-r ...
- [原创] Delphi小工具(Windows资源管理器右键菜单扩展)
两个小工具 1. 项目临时文件清理 2. Android Ndk 编译 c/c++ jni 源码工具. 下载后,点击Reg.bat就可以完成注册安装.不需要时点击 UnReg.Bat 就可以删除菜单. ...
- js中数组去除重复项目
js语法技巧:if(a>=5) alert(); 可以改写成下边语句: a>=5&&alert(); 在下文中会用到这种写法 // for循环删除后面重复的 速度最快 ...
- svn: E200007: Runner for 'org.tmatesoft.svn.core.wc2.SvnMerge' command have not been found; probably not yet implement in this API.
myeclipse分支合并主干(分支->team->合并->选择主干)的时候出现这个错误: svn: E200007: Runner for 'org.tmatesoft.svn.c ...
- iOS中如何监测来电
http://blog.csdn.net/liujinlongxa/article/details/44207587
- iOS多线程-多线程实现之GCD
什么是GCD? GCD: Grand Central Dispatch (重要的中枢调度器) GCD是纯C语言的, 学习它就是学习一些函数的使用. GCD的核心概念和使用步骤 核心概念 任务 : 执行 ...