zoukankan      html  css  js  c++  java
  • 解析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"])
    
  • 相关阅读:
    NoSql database——Redis
    node-inspector,is a debugger interface for Node.js applications
    《倡议书——节约用电,从我做起》
    祖国万岁——2
    祖国万岁——1
    台湾
    REST APIs must be hypertext-driven——Posted by Roy T. Fielding
    Microservice architecture
    3——A Journey into Microservices: Dealing with Complexity
    2——A Journey into Microservices: A Cloudy Beginning
  • 原文地址:https://www.cnblogs.com/zjiacun/p/7510109.html
Copyright © 2011-2022 走看看