json学习

介绍
我们知道AJAX技术能够使得每一次请求更加迅捷,对于每一次请求返回的不是整个页面,也仅仅是所需要返回的数据。通常AJAX通过返回XML格式的数据,然后再通过客户端复杂的JavaScript脚本解析和渲染这些XML格式的数据。
JSON(读Jason)是为了能够使得数据格式成为一种标准,更简单的被JavaScript解析。

优点
1、轻量级的数据交换格式
2、人们读写更加容易
3、易于机器的解析和生成
4、能够通过JavaScript中eval()函数解析JSON
5、 JSON支持多语言。包括:ActionScript, C, C#, ColdFusion, E, Java, JavaScript, ML, Objective CAML, Perl, PHP, Python, Rebol, Ruby, and Lua.

语法
JSON语法是一种用于传输和生成数据的协定,很类似于C家族的语言,所以很容易被C家族的语言所解析。
对象:对象包含在{}之间
属性:采用Key-Value对来表示。属性之间使用逗号分开。  string : value
数组:数组存放在[]之间   [ elements ]
元素:元素之间用逗号分开
值:值可以是字符串,数字,对象,数组,true,false,null
例子:
JSON
[
{
 name:"Michael",
 email:"17bity@gmail.com",
 homepage:"http://www.jialing.net "
},
{
 name:"John",
 email:"john@gmail.com",
 homepage:"http://www.jobn.com "
},
{
 name:"Peggy",
 email:"peggy@gmail.com",
 homepage:"http://www.peggy.com "
}
]


事实上google maps就没有采用XML传递数据,而是采用了JSON方案。
JSON的另外一个优势是"跨域性",例如你在网页里使用
<script type="text/javascript" src="http://www.yyy.com/some.js ">
是完全可行的,这就意味着你可以跨域传递信息。而使用XMLHttpRequest却获取不了跨域的信息,这是Javascript内部的安全性质所限制的。

JSON能完全取代XML吗?当然不能,原因就在于XML的优势:通用性。要使服务器端产生语法合格的Javascript代码并不是很容易做到的,这主要发生在比较庞大的系统,服务器端和客户端有不同的开发人员。

json网址:http://www.json.org/json-zh.html

 

我们知道
xml的写法:

<contact>

 <friend>
  <name>Michael</name>
  <email>17bity@gmail.com</email>
  <homepage>http://www.jialing.net </homepage>
 </friend>

 <friend>
  <name>John</name>
  <email>john@gmail.com</email>
  <homepage>http://www.john.com </homepage>
 </friend>

  <friend>
  <name>Peggy</name>
  <email>peggy@gmail.com</email>
  <homepage>http://www.peggy.com </homepage>
 </friend>

</contact>


那json怎么写呢?
JSON:

[
{
 name:"Michael",
 email:"17bity@gmail.com",
 homepage:"http://www.jialing.net "
},
{
 name:"John",
 email:"john@gmail.com",
 homepage:"http://www.jobn.com "
},
{
 name:"Peggy",
 email:"peggy@gmail.com",
 homepage:"http://www.peggy.com "
}
]

可以很明显的看出:
JSON的格式:
1,对象:
{name:"Peggy",email:"peggy@gmail.com",homepage:"http://www.peggy.com "}
{ 属性 : 值 , 属性 : 值 , 属性 : 值 }
2,数组是有顺序的值的集合。一个数组开始于"[",结束于"]",值之间用","分隔。
[
{name:"Peggy",email:"peggy@gmail.com",homepage:"http://www.peggy.com "}, {name:"Peggy",email:"peggy@gmail.com",homepage:"http://www.peggy.com "},
{name:"Peggy",email:"peggy@gmail.com",homepage:"http://www.peggy.com "}
]
3, 值可以是字符串、数字、true、false、null,也可以是对象或数组。这些结构都能嵌套。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSONArray是JSON中的一个数据类型,表示一个由多个JSON对象组成的有序集合。通常用于表示一组数据,比如一组用户信息或一组商品信息等。 在Java中,我们可以使用org.json.JSONArray类来表示JSONArray对象。下面是一个示例代码,展示如何创建和操作JSONArray对象: ``` import org.json.JSONArray; import org.json.JSONObject; public class JSONArrayExample { public static void main(String[] args) { // 创建一个JSONArray对象 JSONArray jsonArray = new JSONArray(); // 向JSONArray中添加JSONObject JSONObject jsonObject1 = new JSONObject(); jsonObject1.put("name", "张三"); jsonObject1.put("age", 18); jsonArray.put(jsonObject1); JSONObject jsonObject2 = new JSONObject(); jsonObject2.put("name", "李四"); jsonObject2.put("age", 20); jsonArray.put(jsonObject2); // 输出JSONArray对象 System.out.println(jsonArray); // 获取JSONArray中的JSONObject JSONObject obj = jsonArray.getJSONObject(0); System.out.println(obj.getString("name") + " " + obj.getInt("age")); // 遍历JSONArray中的所有JSONObject for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); System.out.println(jsonObject.getString("name") + " " + jsonObject.getInt("age")); } } } ``` 在这个示例中,我们创建了一个JSONArray对象,并向其中添加了两个JSONObject对象。然后我们展示了如何获取JSONArray中的JSONObject,以及如何遍历JSONArray中的所有JSONObject。运行这个示例代码,输出结果如下: ``` [{"name":"张三","age":18},{"name":"李四","age":20}] 张三 18 张三 18 李四 20 ``` 从输出结果可以看出,我们成功地创建了一个JSONArray对象,并且成功地向其中添加了两个JSONObject对象。同时,我们也成功地获取了JSONArray中的JSONObject,以及遍历了JSONArray中的所有JSONObject。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值