JSON数据的可以优化吗?肯定可以,之前都是使用XML,但之后用XML越来越少了,就是因为XML包含的冗余信息太多了。那么JSON数据有没有冗余呢?

肯定有,名称就是重复的!!

例如如下的JSON数据:

{"total":,"rows":[
{"productid":"FI-SW-01","productname":"Koi","unitcost":10.00,"status":"P","listprice":36.50,"attr1":"Large","itemid":"EST-1"},
{"productid":"K9-DL-01","productname":"Dalmation","unitcost":12.00,"status":"P","listprice":18.50,"attr1":"Spotted Adult Female","itemid":"EST-10"},
{"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":38.50,"attr1":"Venomless","itemid":"EST-11"},
{"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":26.50,"attr1":"Rattleless","itemid":"EST-12"},
{"productid":"RP-LI-02","productname":"Iguana","unitcost":12.00,"status":"P","listprice":35.50,"attr1":"Green Adult","itemid":"EST-13"},
{"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":158.50,"attr1":"Tailless","itemid":"EST-14"},
{"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":83.50,"attr1":"With tail","itemid":"EST-15"},
{"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":23.50,"attr1":"Adult Female","itemid":"EST-16"},
{"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":89.50,"attr1":"Adult Male","itemid":"EST-17"},
{"productid":"AV-CB-01","productname":"Amazon Parrot","unitcost":92.00,"status":"P","listprice":63.50,"attr1":"Adult Male","itemid":"EST-18"}
]}

如果我们假定第一列是productid,第二列是productname,其他的依次类推,是不是就可以减少近一半的数据呢?

{"total":,"rows":[
{"FI-SW-01","Koi",10.00,"P",36.50,"Large","EST-1"},
{"K9-DL-01","Dalmation",12.00,"P",18.50,"Spotted Adult Female","EST-10"},
{"RP-SN-01","Rattlesnake",12.00,"P",38.50,"Venomless","EST-11"},
{"RP-SN-01","Rattlesnake",12.00,"P",26.50,"Rattleless","EST-12"},
{"RP-LI-02","Iguana",12.00,"P",35.50,"Green Adult","EST-13"},
{"FL-DSH-01","Manx",12.00,"P",158.50,"Tailless","EST-14"},
{"FL-DSH-01","Manx",12.00,"P",83.50,"With tail","EST-15"},
{"FL-DLH-02","Persian",12.00,"P",23.50,"Adult Female","EST-16"},
{"FL-DLH-02","Persian",12.00,"P",89.50,"Adult Male","EST-17"},
{"AV-CB-01","Amazon Parrot",92.00,"P",63.50,"Adult Male","EST-18"}
]}

其实这就是csv类似的文件格式,当然这种改动比较大,可以说直接改变了数据结构,影响比较大。

当然也可以采用给个字段重新命名的方式修改,例如:

var attr1={"A":"productid","B":"productname","C":"unitcost","D":"status","E":"listprice","F":"attr1","G":"itemid"}
{"total":,"rows":[
{"A":"FI-SW-01","B":"Koi","C":10.00,"D":"P","E":36.50,"F":"Large","G":"EST-1"},
{"A":"K9-DL-01","B":"Dalmation","C":12.00,"D":"P","E":18.50,"F":"Spotted Adult Female","G":"EST-10"},
{"A":"RP-SN-01","B":"Rattlesnake","C":12.00,"D":"P","E":38.50,"F":"Venomless","G":"EST-11"},
{"A":"RP-SN-01","B":"Rattlesnake","C":12.00,"D":"P","E":26.50,"F":"Rattleless","G":"EST-12"},
{"A":"RP-LI-02","B":"Iguana","C":12.00,"D":"P","E":35.50,"F":"Green Adult","G":"EST-13"},
{"A":"FL-DSH-01","B":"Manx","C":12.00,"D":"P","E":158.50,"F":"Tailless","G":"EST-14"},
{"A":"FL-DSH-01","B":"Manx","C":12.00,"D":"P","E":83.50,"F":"With tail","G":"EST-15"},
{"A":"FL-DLH-02","B":"Persian","C":12.00,"D":"P","E":23.50,"F":"Adult Female","G":"EST-16"},
{"A":"FL-DLH-02","B":"Persian","C":12.00,"D":"P","E":89.50,"F":"Adult Male","G":"EST-17"},
{"A":"AV-CB-01","B":"Amazon Parrot","C":92.00,"D":"P","E":63.50,"F":"Adult Male","G":"EST-18"}
]}

出处:https://blog.csdn.net/xuexiaodong009/article/details/51810566

JSON数据的优化的更多相关文章

  1. 关于JSON数据体积优化的一点小心得

    最近在做的一个项目里传输的json数据比较大,造成了线程间的卡顿,于是想优化一下json数据的体积. 可以看到在json文件里有很多无用的字段,这些字段占据了大量的存储空间. 对数据的结构作一下优化, ...

  2. 32、Flask实战第32天:优化json数据的返回

    接着上节,我们通过jsonify返回json数据非常方便 ... return jsonify({"code": 400, "message": message ...

  3. 将Json数据转换为ADO.NET DataSet对象

    Json数据转换为ADO.NET DataSet其实方法有很多,Newtonsoft.Json也提供了DataSet的Converter用以转换Json数据.但是有些情况下DataSet Conver ...

  4. 移动端基于HTML模板和JSON数据的JavaScript交互

    写本文之前,我正在做一个基于Tab页的订单中心: 每点击一个TAB标签,会请求对应状态的订单列表.之前的项目,我会在js里使用 +  连接符连接多个html内容: var html = ''; htm ...

  5. XML 数据请求与JSON 数据请求

    (1)XML 数据请求 使用 AFNetworking 中的 AFHTTPRequestOperation 和 AFXMLParserResponseSerializer,另外结合第三方框架 XMLD ...

  6. 使用 AFNetworking 进行 XML 和 JSON 数据请求

    (1)XML 数据请求 使用 AFNetworking 中的 AFHTTPRequestOperation 和 AFXMLParserResponseSerializer,另外结合第三方框架 XMLD ...

  7. [HTTP那些事] JSON数据

    随着Android的发展,各路大神的贡献,我们可用的轮子越来越多.比如HTTP请求框架,有自家的Volley,Square的okhttp, async-http-lib, 还有聚合版的xUtils以及 ...

  8. 模拟QQ侧滑控件 实现三种界面切换效果(知识点:回调机制,解析网络json数据,fragment用法等)。

    需要用到的lib包 :解析json  gson包,从网络地址解析json数据成String字符串的异步网络解析工具AsyncHttpClient等 下载地址:点击下载 Xlistview 下拉上拉第三 ...

  9. Android 实现Json数据解析,并进行应用!

    从网站上获取数据然后再客户端进行解析是常见的数据交互.下面是常用的一些接口网址: webservice工厂接口 http://www.36wu.com 快递查询接口http://webservice. ...

随机推荐

  1. Python返回值不同格式的取值方式

    例: { "success": true, "topic_id": "5c89021773798770589936b0"} 转换成text, ...

  2. SQL-15 查找employees表所有emp_no为奇数,且last_name不为Mary的员工信息,并按照hire_date逆序排列

    题目描述 查找employees表所有emp_no为奇数,且last_name不为Mary的员工信息,并按照hire_date逆序排列CREATE TABLE `employees` (`emp_no ...

  3. Alpha冲刺3

    前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/9971198.html 作业博客:https://edu.cnblogs.com/campus/ ...

  4. oracle 12c 警告日志位置

    Oracle 12c环境下查询,alert日志并不在bdump目录下,看到网上和书上都写着可以通过初始化参数background_dump_dest来查看alter日志路径,还说警告日志文件的缺省位置 ...

  5. React native Configuration with name 'default' not found.

    添加插件后出现异常 FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring ...

  6. [转]Skynet之斗转星移 - 将控制权交给Lua

      Skynet之斗转星移 - 将控制权交给Lua http://www.outsky.org/code/skynet-lua.html Sep 7, 2014 在我看来,Skynet的一个重要优势是 ...

  7. java通过配置文件(Properties类)连接Oracle数据库代码示例

    import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java. ...

  8. CPU 架构 —— ARM 架构

    linux 系统查看 CPU 架构命令: $ arch armv7l $ uname -m armv7l # -m:--machine # 进一步查看处理器信息 $ cat /proc/cpuinfo ...

  9. A记录和CNAME记录的区别

    1.什么是域名解析? 域名解析就是国际域名或者国内域名以及中文域名等域名申请后做的到IP地址的转换过程.IP地址是网路上标识您站点的数字地址,为了简单好记,采用域名来代替ip地址标识站点地址.域名的解 ...

  10. Python中的print、input函数以及Python中交换两个变量解析

    一.Python中的值交换操作 首先明确一点点,Python中的一切都是面向对象的,可以理解为Python的中一切都是对象. 我们知道Java也是面向对象的语言,但是在Java中定义一个值变量如下: ...