关于Json格式
可能用JSON太多了吧,最近突然觉得JSON这种数据格式仍可以进一步优化。
举个例子
{
"status":0,
"msg":"success",
"data":[
{
"id":1,
"name":"wang",
"tag":[
{
"id":11,
"name":"11"
},
{
"id":111,
"name":"111"
},
{
"id":1111,
"name":"1111"
}
]
},
{
"id":2,
"name":"yu",
"tag":[
{
"id":22,
"name":"22"
},
{
"id":222,
"name":"222"
},
{
"id":2222,
"name":"2222"
}
]
},
{
"id":3,
"name":"chao",
"tag":[]
}
]
}
我们会发现几个问题,数据量过大的时候,会出现大量的无用数据(如下),如果是手机端网络传输的时候,会浪费很多流量。(现在手机端基本都是使用的分页加载)
{} [] , "" : id name
当然JSON就是这么定义的,那么能不能把它再优化一下呢?能不能只用 {}[],
代表所有数据格式呢?我们定义这种格式为ShortJson
- {}代表JSON Object
- []代表JSON Array
- ,代表分割
- key : 全部去掉,按照顺序找value
- “” 全部去掉
- 不存在的数据:
,,
或,null,
或,{},
或,[],
(推荐第一种)
{0,success,[{1,wang,[{11,11},{111,111},{1111,1111}]},{2,yu,[{22,22},{222,222},{2222,2222}]},{3,chao,[]}]}
优点:
- 数据量大幅度精简,传输效率大大提高了。
- 安全性提高:即使数据被拦截了,但是因为没有key,可读性太差,安全性提高了。
缺点
- 易读性太差。我个人认为写个类似的转换显示工具即可。
当然,以上都是我自己的思考以及想法,目前来看这个是可实现的,而且最容易实现的一步就是写一个JSON转ShortJson工具类即可。欢迎交流