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=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分钟,晚安了!

时间: 2024-08-25 16:05:08

JSON resource 启示的相关文章

【CocoStudio游戏开发之四】UI.json 图片国际化

cocos2dx 3.0 CocoStudio1.4.1 做界面的时候用到了CocoStudio生成的UI.json文件,需要做语言本地化,论坛中有朋友给出了方法: 将本地化的图片设定格式,英文的叫button_store_normal.en.png 中文的叫button_store_normal.zh.png ...... 按照这种规则,根据需要的语言来加载不同的图片 我们用到的是另一种方法: 修改json文件,这里并不是真正的修改json文件,只是在读取json文件到内存后,不是立即交予GU

Egret 入门

居然使用 TyptScript... 先贴手册地址:http://www.typescriptlang.org/docs/tutorial.html. 先要接受一个诡异的写法: private loadingView:LoadingUI; 首先支持了 private.public 类的对象名在前:loadingView 类的类型名在后:LoadingUI(在JS上封装出了强类型?) TyptScript 的特性: 类 Classes 接口 Interfaces 模块 Modules 类型注解 T

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

深入解析DC/OS 1.8 – 高可靠的微服务及大数据管理平台 大家好,欢迎大家参加这次DC/OS的技术分享. 先做个自我介绍,刘超,Linker Networks首席架构师,Open DC/OS社区贡献者,长期专注于OpenStack, Docker, Mesos等开源软件的企业级应用与产品化. 从事容器方面工作的朋友可能已经听说过DC/OS,往往大家误解DC/OS就是marathon + mesos,其实DC/OS包含很多的组件,DC/OS 1.8九月份发布了,此次分享给大家做一个介绍. 一

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

ngResource模块是angular专门为RESTful架构而设计的一个模块,它提供了'$resource'模块,$resource模块是基于$http的一个封装.下面来看看它的详细用法 1.引入angular-resource.min.js文件 2.在模块中依赖ngResourece,在服务中注入$resource var HttpREST = angular.module('HttpREST',['ngResource']); HttpREST.factory('cardResource

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

ngResource模块是angular专门为RESTful架构而设计的一个模块,它提供了'$resource'模块,$resource模块是基于$http的一个封装.下面来看看它的详细用法 1.引入angular-resource.min.js文件 2.在模块中依赖ngResourece,在服务中注入$resource var HttpREST = angular.module('HttpREST',['ngResource']); HttpREST.factory('cardResource

Egret的config加载类,支持多个文件加载

ResUtils.ts /** * Created by yangsong on 15-2-11. * 资源加载工具类, * 支持多个resource.json文件加载 */ class ResUtils { private static instance:ResUtils; private _configs: Array<any>; private _onConfigComplete: Function; private _onConfigCompleteTarget: any; publi

[Farcol] Introduce

Use the Falcor Router to create a Virtual JSON resource. In this tutorial we will use Falcor’s express middleware to serve the Virtual JSON resource on an application server at the URL /model.json. We will also host a static web page on the same serv

Egret入门了解

0.前言 这个星期没有什么事做,就想找点技术了解一下.前段时间看过Egret,用来开发HTML5小游戏.一开始以为很麻烦的,但是经过这两天了解了一下,如果用这个游戏引擎来开发一些简单的游戏,还是蛮方便的.为什么会了解这个,是因为有个同事是开发Android的,是开发那种普通APP,就是一些简单的界面,跟硬件收发一下数据,然后展现出来.总体开发没有难点的,就是用Android开发那种界面交互效果很差,好看一点的呢,开发效率又很低.我就跟他提出,可以用html5画一些界面和一些动画效果.经过这两天了

自定义省市选择器 微信小程序多列选择器

由于微信小程序的选择器为省市区选择器共3列 如我仅需要省市2列的选择器 就需要我们另寻他法找来找去没有合适的 只能自己写了 1. 首先我们把所需要的省数据 市县数据放在一个 p_c.js 文件里面,使用的时候可以通过util 来引用 //p_c.js module.exports = { "province": [ { "title": "上海市", "weight": 1, "evaluation_value&qu