JSON(Javascript Object Notation)是一種輕量級的數據交換語言,以文字爲基礎,且易於讓人閱讀。儘管JSON是在Javascript的一個子集,但JSON是獨立於語言的文本格式,並且採用了類似於C語言家族的一些習慣。
JSON舉例
[javascript] view plaincopyprint?
var txt = '{"employees" : [' +
'{"firstName":"Bill" , "lastName":"Gates"},' +
'{"firstName":"George" ,"lastName":"Bush" },' +
'{"firstName":"Thomas" ,"lastName":"Carter" } ]}';
由於 JSON 語法是JavaScript 語法的子集,JavaScript 函數 eval() 可用於將 JSON 文本轉換爲 JavaScript 對象。
eval() 函數使用的是JavaScript 編譯器,可解析 JSON 文本,然後生成 JavaScript 對象。必須把文本包圍在括號中,這樣才能避免語法錯誤:
[javascript] view plaincopyprint?
var obj = eval("(" + txt + ")");
也可以直接創建一個JSON對象:
[javascript] view plaincopyprint?
var jsonObject ={
"manager":"Tom",
"employees": [
{ "firstName":"Bill" ,"lastName":"Gates" },
{ "firstName":"George" ,"lastName":"Bush" },
{ "firstName":"Thomas" ,"lastName":"Carter" }
]
}
獲取JSON中的數據:
獲取經理的名字:jsonObject.manager
獲取第二個員工的姓:jsonObject.Employees[1]. lastName
static String jsonStr="{'response':{'data':[{'address':'南京市遊樂園','province':'江蘇','district':'玄武區','city':'南京'}]},'status':'ok'}" ;
/**
* @param args
*/
public static void main(String[] args) {
JSONObject dataJson=JSONObject.fromObject(jsonStr);
JSONObject response=dataJson.getJSONObject("response");
JSONArray data=response.getJSONArray("data");
JSONObject info=data.getJSONObject(0);
String province=info.getString("province");
String city=info.getString("city");
String district=info.getString("district");
String address=info.getString("address");
System.out.println(province+city+district+address);
}