从服务器端接收数据的时候,那些数据必须以浏览器能够理解的格式来发送。
服务器端的编程语言只能以如下 3 种格式返回数据: HTML XML JSON
JSON一种简单的数据格式,比xml更轻巧。
JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。
JSON的规则很简单:对象是一个无序的“‘名称:值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。 规则如下: 1)映射用冒号(“:”)表示。名称:值 2)并列的数据之间用逗号(“,”)分隔。名称1:值1,名称2:值2 3) 映射的集合(对象)用大括号(“{}”)表示。{名称1:值1,名称2:值2} 4) 并列数据的集合(数组)用方括号(“[]”)表示。
[
{名称1:值,名称2:值2},
{名称1:值,名称2:值2}
]
元素值可具有的类型:string, number, object, array, true, false, null
JSON 用冒号(而不是等号)来赋值。每一条赋值语句用逗号分开。整个对象用大括号封装起来。
可用大括号分级嵌套数据。 对象描述中存储的数据可以是字符串,数字或者布尔值。对象描述也可存储函数,那就是对象的方法。
使用Java读取Json数据:
1 import java.io.FileReader;
2 import com.google.gson.JsonArray;
3 import com.google.gson.JsonObject;
4 import com.google.gson.JsonParser;
5
6 public class JsonDemo {
7 public static void main(String []args) throws Exception{
8 JsonParser parser = new JsonParser() ;
9 JsonObject object = (JsonObject)parser.parse(new FileReader("src//JsonTest//test.json"));
10 // 解析string
11 System.out.println("name = "+object.get("name").getAsString());
12 // 解析数组
13 JsonArray array = object.get("like").getAsJsonArray();
14 for(int i=0;i<array.size();i++){
15 JsonObject arrayObject = array.get(i).getAsJsonObject() ;
16 System.out.println("id = "+arrayObject.get("id").getAsInt() + " say = "+arrayObject.get("say").getAsString());
17 }
18 // 解析bool类型
19 System.out.println("key = "+object.get("key").getAsBoolean());
20 }
21 }
Json文件内容:
1 {
2 "name":"奶BerBer",
3 "like":[
4 {"id":1,"say":"hello java"},
5 {"id":2,"say":"hello c++"},
6 {"id":3,"say":"hello python"}
7 ],
8 "key":true
9 }
输出结果:
name = 奶BerBer
id = 1 say = hello java
id = 2 say = hello c++
id = 3 say = hello python
key = true
使用Java创建Json数据:
1 import com.google.gson.JsonArray;
2 import com.google.gson.JsonObject;
3
4 public class JsonDemo {
5 public static void main(String []args) throws Exception{
6 JsonObject object = new JsonObject();
7 object.addProperty("name","奶BerBer") ;
8
9 JsonArray array = new JsonArray() ;
10
11 JsonObject lem1 = new JsonObject() ;
12 lem1.addProperty("id","1");
13 lem1.addProperty("say","hello java");
14 array.add(lem1) ;
15
16 JsonObject lem2 = new JsonObject() ;
17 lem2.addProperty("id","2");
18 lem2.addProperty("say","hello c++");
19 array.add(lem2) ;
20
21 JsonObject lem3 = new JsonObject() ;
22 lem3.addProperty("id","3");
23 lem3.addProperty("say","hello python");
24 array.add(lem3) ;
25
26 object.add("like",array) ;
27 object.addProperty("key","true") ;
28
29 System.out.println(object.toString());
30 }
31 }
运行结果:
{"name":"奶BerBer","like":[{"id":"1","say":"hello java"},{"id":"2","say":"hello c++"},{"id":"3","say":"hello python"}],"key":"true"}
Json包下载: 链接:
https://pan.baidu.com/s/1kULUbQ3密码:s98k