JSON(javaScript Object Notation) 比xml更節約流量,他是一個鍵一個值,而XML是兩個鍵一個值。
通常來講,若是手機電腦同時作為客戶端,則數據傳遞多用XML,若只用手機(移動端)作為客戶端,則數據傳遞用JSON
JSON不需要任何特殊的API或工具包,是Javascript的原生格式(理解為JavaScript的一種類型)
映射用“:” 名稱:值
并列的數據之間用逗號“,” 分隔。名稱1:值1,名稱2:值2
映射的對象用大括號表示(“{}”) {名稱1:值1,名稱2:值2}
并列數據的集合(即數組)用方括號表示 ,方括號之間是逗號。
[
{名稱1:值1,名稱2:值2},
{名稱1:值1,名稱2:值2}
]
JSON支持的數據類型:string,number(int,float,double),object,array,true,false,null;
String,Int,long,double,boolean,object,JSONArray可以直接通過get方法得到
用org.json框架來解析json,導入json-org.jar
常見的API
JSONObject jb=new JSONObject(String source);
Object get(String key);
int getInt(String key);
XXX getXXX(String key);
JSONArray getJSONArray(String key);
JSONArray jsArray=new JSONArray(String source);
獲得某個數據
@Test	public void jsonTest() throws JSONException{		String jstring="{'name':'張三','age':'20'}";		JSONObject obj=new JSONObject(jstring);		String name=obj.getString("name");		System.out.PRintln(name);	} 遍歷JSON數組,注意這里數組可以重復嵌套,一個數組也可以當作JSONObject	@Test	public void jsonTest() throws JSONException{		String jstring="[{'name':'張三','age':'20'},{'name':'張四','age':'21'}]";		JSONArray array=new JSONArray(jstring);		for(int i=0;i<array.length();++i)		{			System.out.println("name:"+array.getJSONObject(i).getString("name")+"  age:"+array.getJSONObject(i).getInt("age"));		}	}
新聞熱點
疑難解答