好久没写博客了,刚走完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分钟,晚安了!