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