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"])
    
  • 相关阅读:
    Mysql高可用MHA
    centos7.2 安装mysql5.7.13
    keepalived+双主实现数据库的高可用
    xtrabackup 完全备份+xtrabacup 增量备份
    xtrabackup 进行 MySQL 数据库备份
    mysql所有备份与恢复
    sysbench压测工具 压测 mysql
    查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解
    脚本
    解决 Let’s Encrypt SSL 证书配置错误
  • 原文地址:https://www.cnblogs.com/zjiacun/p/7510109.html
Copyright © 2011-2022 走看看