json解析
来源:互联网 发布:数据库在线学习网站 编辑:程序博客网 时间:2024/04/27 13:21
JSON解析
关于json的解析,可以分为js/jquery解析和Java解析;
js/jquery解析json:
①eval()方法
将json字符串解析成json对象,并通过jQuery的each()函数或者普通的for循环对json数据进行遍历;
**注:eval()函数的调用,eval(“(“+data+”)”);
②new Function()—->不建议使用,存在安全和性能问题
function toJson(str){ var json = (new function("return "+str))();}
③JSON.parse()
用于从一个字符串中解析出一个json对象。
相对应的可以通过JSON.stringify()将一个json对象转换成一个字符串
var str='{"name":"cpf","age":"23"}';**单引号写在{}外,每个属性都必须双引号,否则会抛出异常经JSON.parse(str) 得到:Object: age:"23" name:"cpf"var obj={a:1,b:2}经JSON.stringify(obj)得到:"{"a":1,"b":2}"
*注:JSON.parse()这种方法只支持IE8/Firefox3.5+/Chrome4/Safari4/Opera10 以上版本,这些浏览器都已经接近W3C标准,默认实现了toJSON方法。
④JQuery.getJSON(url,[data],[callback])
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?", function(data){ $.each(data.items, function(i,item){ $("<img/>").attr("src", item.media.m).appendTo("#images"); if ( i == 3 ) return false; });});
java解析json:
package cn.test.com;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class JSONReaderTest { private static final String jsonString = "{\"name\":\"三班\",\"students\":[{\"age\":25,\"gender\":\"female\"," + "\"grades\":\"三班\",\"name\":\"露西\",\"score\":{\"数据结构\":98,\"JavaEE\":92," + "\"计算机基础\":93},\"weight\":51.3},{\"age\":26,\"gender\":\"male\",\"grades\":\"三班\"," + "\"name\":\"杰克\",\"score\":{\"网络安全\":75,\"Linux操作系统\":81,\"数据结构\":92}," + "\"weight\":66.5},{\"age\":25,\"gender\":\"female\",\"grades\":\"三班\",\"name\":\"莉莉\"," + "\"score\":{\"网络安全\":95,\"Linux操作系统\":98,\"SQL数据库\":88,\"数据结构\":89},\"weight\":55}]}"; public static void main(String[] args) { //将jsonString转换成jsonObject,{}括起来的 JSONObject jsonObject = JSONObject.fromObject(jsonString); System.out.println("name:"+jsonObject.get("name")); //获取students中的数组,[]括起来的 JSONArray data = jsonObject.getJSONArray("students"); JSONObject json = null; //遍历数据 for(int i=0;i<data.size();i++){ json = data.getJSONObject(i); System.out.println("grades:"+json.get("grades")); JSONObject score = json.getJSONObject("score"); System.out.println("score:"+score.getInt("数据结构")); } //还可以将数据保存到javabean中 //jsonObject.toBean(json,Class.class); //或者将获取到的数据保存到list中 }}
0 0
- 【JSON解析】JSON解析
- 解析JSON
- Json解析
- JSON解析
- JSON解析
- json解析
- Json解析
- Json解析
- JSON解析
- Json解析
- Json解析
- JSON解析
- JSON解析
- json 解析
- Json解析
- JSON解析
- json解析
- json 解析
- Base64编码及其作用
- Linux升级gcc版本
- word2vec Skip-gram模型精华理解
- liunx top命令
- scapy安装
- json解析
- ContentProvider内容提供器学习笔记
- 【B2B】三星智能教育解决方案
- 从GBIP到PXI 的发展简史
- 语音信箱流程分析
- opencv 拍摄照片
- Maven详解之仓库------本地仓库、远程仓库
- 模拟form提交
- Linux 环境下配置 tomcat服务器远程调试