解析json的方式

一、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"])
原文地址:https://www.cnblogs.com/zjiacun/p/7510109.html