首页 > 代码库 > JSON resource 启示

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,如下:

 1 var fs=require(‘fs‘);
 2 var path = require(‘path‘);
 3 
 4 var jsonStr="";
 5 fs.readFile(path.join(__dirname, ‘en-us.json‘), function (err,bytesRead) {
 6     if (err) throw err;
 7     var data=http://www.mamicode.com/JSON.parse(bytesRead);
 8     jsonStr=JSON.stringify(data);
 9 
10     //check if the json string are the same as it was in the en-us.json
11     console.log(jsonStr);
12 });

运行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 启示