JSON(javaScript Object Notation) 比xml更節(jié)約流量,他是一個(gè)鍵一個(gè)值,而XML是兩個(gè)鍵一個(gè)值。
通常來(lái)講,若是手機(jī)電腦同時(shí)作為客戶(hù)端,則數(shù)據(jù)傳遞多用XML,若只用手機(jī)(移動(dòng)端)作為客戶(hù)端,則數(shù)據(jù)傳遞用JSON
JSON不需要任何特殊的API或工具包,是Javascript的原生格式(理解為JavaScript的一種類(lèi)型)
映射用“:” 名稱(chēng):值
并列的數(shù)據(jù)之間用逗號(hào)“,” 分隔。名稱(chēng)1:值1,名稱(chēng)2:值2
映射的對(duì)象用大括號(hào)表示(“{}”) {名稱(chēng)1:值1,名稱(chēng)2:值2}
并列數(shù)據(jù)的集合(即數(shù)組)用方括號(hào)表示 ,方括號(hào)之間是逗號(hào)。
[
{名稱(chēng)1:值1,名稱(chēng)2:值2},
{名稱(chēng)1:值1,名稱(chēng)2:值2}
]
JSON支持的數(shù)據(jù)類(lèi)型:string,number(int,float,double),object,array,true,false,null;
String,Int,long,double,boolean,object,JSONArray可以直接通過(guò)get方法得到
用org.json框架來(lái)解析json,導(dǎo)入json-org.jar
常見(jiàn)的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);
獲得某個(gè)數(shù)據(jù)
@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數(shù)組,注意這里數(shù)組可以重復(fù)嵌套,一個(gè)數(shù)組也可以當(dāng)作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"));		}	}
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注