一、Javascrip操作json
原始方式:
var str1 = '{ "name": "jacun", "addr": "bj" }';
var data=eval("("+str1+")");//转换为json对象
alert (data.name);//会显示出jacun
浏览器自带原生JSON对象,提供JSON.parse()方法解析JSON:
if( typeof( str) === 'string' ) {
return JSON.parse( str);
} else {
return str;
}
二、json操作json
//由JSON字符串转换为JSON对象
var obj = eval('(' + str + ')');
var obj = str.parseJSON();
var obj = JSON.parse(str);
可以运用 toJSONString()或者全局要领 JSON.stringify()将JSON对象转化为JSON字符串
var last=obj.toJSONString(); //将JSON对象转化为JSON字符
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
三、JQuery获取json
jQuery.getJSON(url,data,success(data,status,str))
url 必需。规定将请求发送的哪个 URL。
data 可选。规定连同请求发送到服务器的数据。
success(data,status,str) 可选。规定当请求成功时运行的函数。
额外的参数:
response - 包含来自请求的结果数据
status - 包含请求的状态
str- 包含 XMLHttpRequest 对象
eg:
$.getJSON("test.js", function(json){ alert("JSON Data: " + json.info[3].name); });
四、Java操作json
//JSON对象 JSONObject的使用
String str1 = "{ 'name': 'jacun', 'sex': '0' }";
JSONObject obj = JSONObject.fromObject(str1);
String name = obj.getString("name"); //直接返回字符串型 jacun
Object nameo = obj.get("name"); //直接返回对象型的jacun
int age = obj.getInt("sex"); //直接返回int型的sex
//JSON数组对象 JSONArray的运用
String jsonArrStr = "[{ 'name': 'jacun', 'sex': '1','website':'http://www.jacun.cn' },{ 'name': 'bai', 'sex': '1','website':'http://www.baidu.com' }]";
JSONArray array = JSONArray.fromObject(jsonArrStr);
int size = array.size(); //获取JSON数组大小
JSONObject jo = array.getJSONObject(0);//取第一个JSON对象
for(int i=0;i<size;i++){
JSONObject jo1 = array.getJSONObject(i);
System.out.println(jo1.getString("website")); //循环返回网址
}
//序列化Bean对象为JSON对象
User user = new User();
user.setName("jacun");
user.setSex(1);
user.setWebsite("http://www.jacun.com");
JSONObject jo2 = JSONObject.fromObject(user);
System.out.println(jo2.toString()); //则会输出 { 'name': 'jacun', 'sex': '1','website':'http://www.jacun.cn' }
五、Python操作json
import json
str1 = '{ "name": "jacun", "sex": "1" }'
# 或者
# str1 = """{ "name": "jacun", "sex": "1" }"""
# 或者
# str1 = "{ \"name\": \"jacun\", \"sex\": \"1\" }"
obj = json.loads(str1)
print(obj["name"])
print(obj["sex"])
# 由于出现中文,记得文件头加入 # coding:utf8
json_arr_str = """[{ "name": "jacun", "sex": "1","website":"http://www.jacun.com" },{ "name": "中国", "sex": "1","website":"http://www.jacun.com" }]"""
arr = json.loads(json_arr_str)
for o in arr:
print(o["name"])
print(o["sex"])
print(o["website"])