JSON(Javascript Object Notation)是一种轻量级的数据交换语言,以文字为基础,且易于让人阅读。尽管JSON是在Javascript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯。

JSON举例


[javascript]view plaincopyprint?

vartxt='{"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?

varobj=eval("("+txt+")");


也可以直接创建一个JSON对象:



[javascript]view plaincopyprint?

varjsonObject={

"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);


}