好久没写博客了,刚走完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 启示的更多相关文章

  1. angular中使用ngResource模块构建RESTful架构

    ngResource模块是angular专门为RESTful架构而设计的一个模块,它提供了'$resource'模块,$resource模块是基于$http的一个封装.下面来看看它的详细用法 1.引入 ...

  2. h5应用缓存及收藏时Icon显示

    h5应用实现离线缓存,加载后,断网仍然可以继续使用. 一.需求 转行做h5,目前做赛道游戏,动手做了个赛道编辑器web版的,由于web版需要开启服务器才能使用,策划要想回家使用就要发布到外网服务器了, ...

  3. angular学习笔记(二十八)-$http(6)-使用ngResource模块构建RESTful架构

    ngResource模块是angular专门为RESTful架构而设计的一个模块,它提供了'$resource'模块,$resource模块是基于$http的一个封装.下面来看看它的详细用法 1.引入 ...

  4. Egret官方案例学习笔记

    1.资源记载方式 (1)Egret引擎是2.0.5. (2)resource/resource.json文件是: { "resources": [ { "name&quo ...

  5. Egret引擎随学随机

    1.纹理集实际上就是将一些零碎的小图放到一张大图当中.游戏中也经常使用到纹理集.使用纹理集的好处很多,我们通过将大量的图片拼合为一张图片从而减少网络请求,原先加载数次的图片资源现在加载一次即可.同时, ...

  6. 深入解析DC/OS 1.8 – 高可靠的微服务及大数据管理平台

    深入解析DC/OS 1.8 – 高可靠的微服务及大数据管理平台 大家好,欢迎大家参加这次DC/OS的技术分享. 先做个自我介绍,刘超,Linker Networks首席架构师,Open DC/OS社区 ...

  7. [Farcol] Introduce

    Use the Falcor Router to create a Virtual JSON resource. In this tutorial we will use Falcor’s expre ...

  8. Egret 入门

    居然使用 TyptScript... 先贴手册地址:http://www.typescriptlang.org/docs/tutorial.html. 先要接受一个诡异的写法: private loa ...

  9. [Falcor] Return the data from server

    <!-- index.html --> <html> <head> <!-- Do _not_ rely on this URL in production. ...

随机推荐

  1. Python迭代器,可迭代对象,生成器

    迭代器 迭代器(iterator)有时又称游标(cursor)是程式设计的软件设计模式,可在容器物件(container,例如链表或阵列)上遍访的界面,设计人员无需关心容器物件的内存分配的实现细节. ...

  2. MySQL索引原理及慢查询优化

    原文:http://tech.meituan.com/mysql-index.html 一个慢查询引发的思考 select count(*) from task where status=2 and ...

  3. Linux指令

    文件指令 ls: ls -a :把隐藏的文件显示 ls -l  显示文件的详细信息 -lh  也是显示文件的详细信息,只是文件的大小是以k单位 ls -ld 显示指定目录下的信息 mkdir: mkd ...

  4. Oracle下批量将一个用户的所有表的select权限赋值给另外一个用户

    起因 为什么会有这篇文章呢? 因为最近在做项目的时候遇到一个问题...实际生产环境中程序datasource登陆的Oracle数据库用户user1不是我们创建的.这个用户没有访问我们业务表的权限(因为 ...

  5. Activiti5.10简易教程一

    Activiti5.10简易教程一 一搭建环境 1.1   JDK 6+ activiti 运行在版本 6 以上的 JDK 上.转到 Oracle Java SE 下载页面,点击按钮“下载 JDK ” ...

  6. 【学习笔记】Struts2之配置处理结果

        Action只是Struts2控制器的一部分,所以它不能直接生成对浏览者的响应.Action只负责生成响应的视图组件,通常是JSP页面,而Action会为JSP页面提供显示数据.     Ac ...

  7. WCF 服务编程 - 常用绑定

    WCF  定义了5中常用的绑定. 一. 绑定 1.基本绑定: 对应于BasicHttpBinding类.基本绑定能够将WCF服务公开为传统的ASMX Web服务,使得原客户端能够与新的服务协作.如果客 ...

  8. H5案例分享:JS手势框架 —— Hammer.js

    JS手势框架 -- Hammer.js 一.hammer.js简介 hammerJS是一个开源的,轻量级的触屏设备javascript手势库,它可以在不需要依赖其他东西的情况下识别触摸,鼠标事件.允许 ...

  9. bootstrap 布局(收藏/摘抄)

    bootstrap 12栅格 布局

  10. PHP 图片上传工具类(支持多文件上传)

    ====================ImageUploadTool======================== <?php class ImageUploadTool { private ...