JSON解析之入门

本文介绍了JSON的基本概念及其与XML的区别,展示了JSON的数据结构,并提供了JSON与XML互转的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、JSON介绍


JSON(JavaScript Object Notation),类似于XML,是一种数据交换格式,比如Java产生了一个数据想要给JavaScript,则除了利用XML外,还可以利用JSON;

JSON相比XML的优势是表达起来很简单;

官网:http://www.json.org/

JSON是AJAX中的X(就是可以取代XML);          ------出自JSON创始人;


注意:JSON并不是一个文档格式,没有*.json的文档,一般JSON格式的文档存在txt中,而XML可以是一个标准;


在线校验JSON结构的网站:http://www.bejson.com/go.html?u=http://www.bejson.com/jsonview2/


二、JSON数据结构


JSON有两种数据结构

(1)Map,也称为对象;{....}

(2)Array;[......]

也就是说所有的JSON对象都是要以这些形式表示;


1.Map


简单的说就是Java中的Map,键-值对的形式给出,名称和值之间用“:”隔开,两个Map之间用“,”隔开,一般表示形式如下:

{'key1':'value1','key2':'value2'}

以下为官网的图:



2.Array


就是普通意义上的数组,一般形式如下:

['arr1','arr2','arr3'];

以下为官网的图:



图中的value可以是:





总结:

(1)JSON的数据结构只有两种;

(2)可以嵌套表示,比如Array中可以嵌套Object等;

(3)记住:Object是以{}表示,Array是以[  ]表示;

 

三、JSON与XML互转示例


前面提到任何的XML都能够转换成JSON包;


1.简单XML


XML格式:

[html]  view plain  copy
  1. <person>  
  2.     <name>xiazdong</name>  
  3.     <age>20</age>  
  4. </person>  

JSON格式:

[html]  view plain  copy
  1. {  
  2.     "name":"xiazdong",  
  3.     "age":20  
  4. }  



2.复杂XML


XML格式:

[html]  view plain  copy
  1. <section>  
  2.     <title>BOOK</title>  
  3.     <signing>  
  4.         <author name="author-1"/>  
  5.         <book title="book1" price="$11"/>  
  6.     </signing>  
  7.     <signing>  
  8.         <author name="author-2"/>  
  9.         <book title="book2" price="$22"/>  
  10.     </signing>  
  11. </section>  

JSON格式:

[html]  view plain  copy
  1. "section":{  
  2.         "title":"BOOK",  
  3.         "signing":[  
  4.         {  
  5.             {  
  6.                 "name":"author-1"  
  7.             },  
  8.             "book":  
  9.             {  
  10.                 "title":"book1",  
  11.                 "price":"$11"  
  12.             }  
  13.         },  
  14.         {  
  15.             "author":  
  16.             {  
  17.                 "name":"author-2"  
  18.             },  
  19.             "book":  
  20.             {  
  21.                 "title":"book2",  
  22.                 "price":"$22"  
  23.             }  
  24.         }     
  25.     }  

注意:XML中的属性也是通过JSON的Map表示。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值