解析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"])
解析json的方式的更多相关文章
- Android入门(二十二)解析JSON
原文链接:http://www.orlion.ga/687/ 解析JSON的方式有很多,主要有官方提供的 JSONObject,谷歌的开源库 GSON.另外,一些第三方的开源库如 Jackson.Fa ...
- JAVA JSON解析:类XPATH解析JSON
目前JAVA解析JSON的方式有很多种,json-lib啊,GJSON啊,等等都可以解析,但通常是将JSON转换为对象或者是LIST或者是MAP,对于我们测试人员来说,其实我们并不需要里面的全部信息, ...
- js中解析json时候的eval和$.parseJSON()的区别以及JSON.stringify()
1.第一个区别是:安全性 json格式非常受欢迎,而解析json的方式通常用JSON.parse()但是eval()方法也可以解析,这两者之间有什么区别呢? JSON.parse()之可以解 ...
- 如何解析Json返回的数据
Json在Web开发的用处非常广泛,作为数据传递的载体,如何解析Json返回的数据是非常常用的.下面介绍下四种解析Json的方式: Part 1 var list1 = [1,3,4]; alert( ...
- unity解析json的两种方式
一直比较钟情于json,用来做数据交互,堪称完美!下面简单说一下unity使用C#脚本如何解析json数据吧. 一.写解析类,借助于JsonUtility.FromJson 直接给个例子吧 1.jso ...
- Java解析Json数据的两种方式
JSON数据解析的有点在于他的体积小,在网络上传输的时候可以更省流量,所以使用越来越广泛,下面介绍使用JsonObject和JsonArray的两种方式解析Json数据. 使用以上两种方式解析json ...
- java后台处理解析json字符串的两种方式
简单说一下背景 上次后端通过模拟http请求百度地图接口,得到的是一个json字符串,而我只需要其中的某个key对应的value. 当时我是通过截取字符串取的,后来觉得不太合理,今天整理出了两种处理解 ...
- JSON数据解析(GSON方式) (转)
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 在上一篇博文<Andro ...
- 解析JSON的三种方式
JSONObject JSONObject jsonObject = new JSONObject(strJson); JSONArray jsonArray = jsonObject.getJS ...
随机推荐
- LeetCode OJ——Word Ladder
http://oj.leetcode.com/problems/word-ladder/ 图的最短路径问题,可以用最短路径算法,也可以深搜,也可以广搜. 深搜版本: 第一次写的时候,把sum和visi ...
- 关于Red5整合springMVC提示scope not found 的错误
https://www.cnblogs.com/qgc88:
- (4)Unity3d镜头
Input.GetMouseButton()://获取鼠标按钮状态,0-鼠标左键,1-鼠标右键,2-鼠标中键: Input.GetAxis("Mouse X ") //鼠标水平向移 ...
- BZOJ 1044 木棍分割(二分答案 + DP优化)
题目链接 木棍分割 1044: [HAOI2008]木棍分割 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3830 Solved: 1453[S ...
- [原创][FPGA]Quartus实用小技巧(长期更新)
0. 简介 在使用Quartus软件时,经常会时不时的发现一些小技巧,本文的目的是总结所查阅或者发现到的小技巧,本文长期更新. 1. Quartus中的模板功能 最近在Quartus II的菜单里找到 ...
- 同源策略Same-origin policy
同源策略Same-origin policy 同源策略Same-origin policy是Web应用的一种安全基础策略.它规定同一源中,页面包含的脚本可以访问该源下的其他页面的数据.只有当网址中的 ...
- 继承LIst 的类JSON序列化,无法序列化属性的问题
/// <summary> /// Paged list /// </summary> /// <typeparam name="T">T< ...
- Maven插件maven-antrun-plugin的使用
以下引用官方的介绍http://maven.apache.org/plugins/maven-antrun-plugin/: 一.什么是maven-antrun-plugin? 该插件提供从Maven ...
- sql的一些知识_高级
1.视图 http://www.cnblogs.com/wang666/p/7885934.html 2.存储过程 http://www.cnblogs.com/wang666/p/7920748.h ...
- [C++设计模式] proxy 代理模式
代理模式:为其它对象提供一种代理以控制对这个对象的訪问. Proxy: 保存一个引用使得代理能够訪问实体.若RealSubject和Subject的接口同样,Proxy会引用Subject,就相当于在 ...