什么是JSON

Posted 北雁南飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是JSON相关的知识,希望对你有一定的参考价值。

一)什么是JSON

   (1)JSON(Java Script Object Notation(记号,标记))是一种轻量级的数据交换语言,

        以文本字符串为基础,且易于让人阅读

        注意:XML就是一个重量级的数据交换语言

   (2)JSON采用完全独立于任何程序语言的文本格式,使JSON成为理想的数据交换语言

 

二)JSON的作用

   (1)简化创建自定义对象的方式

        注意:JSON就是用JS语法来书写,所以必须放在<script>标签中

              在用JS语法书写JSON时,最外面不要用""双引号

(2)在AJAX中,作为数据载体之一

        注意:JS可以直接解析JSON格式的文本,前提是:该JSON必须采用JS格式书写的才行,如果该JSON是采用Java格式写的,必须使用eval()函数转换后,方可被JS解析,该eval("")函数接收一个字符串格式的内容。

  (3)省份-城市-区域三级联动【Struts2 + JSON版】

        切记:将来JSON是不能完完全全替代XML的,只能在定义对象和数据交换语言方面替代  


三)使用第三方工具,将JavaBean对象/List或Set或Map对象转成JSON

    准备导入第三方jar包:

    》commons-beanutils-1.7.0.jar

    》commons-collections-3.1.jar

    》commons-lang-2.5.jar

》commons-logging-1.1.1.jar

》ezmorph-1.0.3.jar

》json-lib-2.1-jdk15.jar            

   (1)JavaBean----->JSON

            》JSONArray jsonArray =JSONArray.fromObject(city);

             》String jsonJAVA = jsonArray.toString();

   (2)List<JavaBean>----->JSON

        》JSONArray jsonArray =JSONArray.fromObject(cityList);

            》String jsonJAVA =jsonArray.toString();

   (3)List<String>----->JSON

        》JSONArray jsonArray =JSONArray.fromObject(stringList);

            》String jsonJAVA =jsonArray.toString();

   (4)Set<JavaBean>----->JSON

        》JSONArray jsonArray =JSONArray.fromObject(citySet);

            》String jsonJAVA =jsonArray.toString();

   (5)Map<String,Object>----->JSON

        》JSONArray jsonArray =JSONArray.fromObject(map);

            》String jsonJAVA =jsonArray.toString();

        最后一个例子切记,将来jQuery-EasyUI-DataGrid组件时我们还要用到

        将来,在企业中,就算脱离struts2的环境,也能用第三方工具,将Java类型转成JSON文本

 


四)总结JSON的特点

  (1)在客户端(特指PC浏览器),直接使用javascript语言解析JSON,无需第三方jar包

   (2)本质上,就是一个文本,只是该文本有特定的书写格式

  (3)可以使用第三方工具,将JavaBean对象或者List/Set/Map<JavaBean>对象转成JSON

   (4)优点:JSON与XML很相似,但是它更加轻巧,服务器只需发送一个html普通字符串,不用发送复杂的xml格式文档了

   (5)缺点:语法过于严谨,初学者可能觉得代码不易读,写错一点都不行

   (6)JSON本质上,就是用JS语法写的特殊文本记号,用JS可以直接解析

 



以上是关于什么是JSON的主要内容,如果未能解决你的问题,请参考以下文章

请教jsonJSON.parse中双引号如何解决

Java:Hutool工具箱之hutool-jsonJSON数据读取转换处理

Python字符串和json类型的相互转换实例演示,python字符串转jsonjson转字符串

森海塞尔是什么,我想用用看

Ajax

JSON