导读: 解析json(共3篇)java中解析json的三种方式 第一种public void jsonTx() {String json = {status:200,message:查询成功,data:[{id:1,name:name1,describe:第一条数据}]};JSONObject data = new JSO...
本文是中国招生考试网(www.chinazhaokao.com)成考报名频道为大家整理的《解析json》,供大家学习参考。
java中解析json的三种方式
解析json 第一篇
//第一种
public void jsonTx() {
String json = "{'status':200,'message':'查询成功','data':[{'id':1,'name':'name1','describe':'
第一条数据'}]}";
JSONObject data = new JSONObject(json);
int status = data.optInt("status");
JSONArray data1 = data.getJSONArray("data");
if (status==200) {
for(int i=0;i<data1.length();i++){
String s = data1.getString(i);
System.out.println(s);
JSONObject data2 = JSONObject.fromObject(s);
System.out.println(data2.getString("id"));
System.out.println(data2.getString("name"));
System.out.println(data2.getString("describe"));
}
}else if(status==500) {
String msg = data.getString("message");
System.out.println(msg);
}
}
//第二种
public void getJson() {
String json =
"{'response':{'data':[{'address':'北京','province':'海淀','district':'西三旗','city':'地铁'}]},'status':'ok'}";【解析json】
JSONObject jsonObject = JSONObject.fromObject(json);
String status = jsonObject.getString("status");
// System.out.println(str);
String response = jsonObject.getString("response");
JSONObject jsonObject2 = JSONObject.fromObject(response);【解析json】
JSONArray data = jsonObject2.getJSONArray("data");
for(int i=0;i<data.length();i++){
String s = data.getString(i);
JSONObject data2 = JSONObject.fromObject(s);
System.out.println(data2.getString("address"));
System.out.println(data2.getString("province"));
System.out.println(data2.getString("district"));
System.out.println(data2.getString("city"));
}
}
//第三种(只获取json里面数据)
public static void main(String[] args) {
String json =
"{\"response\":{\"data\":[{\"address\":\"北京\",\"province\":\"海淀\",\"district\":\"三环\",\"city\":\"桥\"}]},\"status\":\"ok\"}";
String str[] =
json.replaceAll(".*\"address\":\"(.*?)\".*\"province\":\"(.*?)\",.*\"district\":\"(.*?)\",.*\"city\":\"(.*?)\".*",
"$2,$4,$3,$1").split(",");
for (String s : str) {
System.out.println(s);
}
}
jQuery解析JSON
解析json 第二篇
jQuery 中使用 JSON
JSON 格式
json 是 Ajax 中使用频率最高的数据格式,在浏览器和服务器中之间的通讯可离不开它。 需要特别注意的是,在 JSON 中的属性名是需要使用引号引起来的。 jQuery 中使用 JSON
jQuery 是现在使用广泛的脚本库,那么,在 jQuery 中如何使用 JSON 呢?
1、本身就是JSON数据格式。就按JSON数据访问即可,如下例子: $(function(){
var people2={"name1":"a1","name2":"a2","name3":"a3"}; alert(people2.name3);
});
2、如果是JSON数据格式的字符串,则先要调用jQuery.parseJSON()把字符串转化为JSON数据格式。
<script type="text/javascript">
$(function(){
var people='{"name1":"a1","name2":"a2","name3":"a3"}'; var json= $.parseJSON(people);
alert(json.name2);
});
</script>
3、jquery-json 扩展库
这个库用来扩展 jQuery ,对于 JSON 的使用,扩展了两个方法。 toJSON 方法用来将一个普通的 JSON对象序列化为 JSON字符 串。 evalJSON 方法将一个 JSON字符串解析为一个普通的 JSON对象。 <!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="js/jquery-1.11.0.js"></script>
<script type="text/javascript" src="js/jquery.json-2.4.min.js"></script>
</head>
<body>
</body>
<script type="text/javascript">
$(function(){
var thing = {'plugin':'jquery-json', 'version':'2.3'};
var encoded = $.toJSON(thing); // 把一个JSON转化为String
var name = $.evalJSON(encoded).plugin; // 把一个String解析为JSON alert(name);
});
</script>
</html> 4、$.getJSON()
获取JSON数据,在jQuery中有一个简单的方法 $.getJSON() 可以实现。
下面引用的是官方API对$.getJSON()的说明:
jQuery.getJSON( url, [data,] [success(data, textStatus, jqXHR)] ) url A string containing the URL to which the request is sent.
Data A map or string that is sent to the server with the request.
success(data, textStatus, jqXHR) A callback function that is executed if the request succeeds.
$.each()是用来在回调函数中解析JSON数据的方法,下面是官方文档:
jQuery.each(collection,callback(indexInArray, valueOfElement) )
collection:The object or array to iterate over.
callback(indexInArray, valueOfElement)The function that will be executed on every object.
$.each()方法接受两个参数,第一个是需要遍历的对象集合(JSON对象集合),第二个是用来遍历的方法,这个方法又接受两个参数,第一个是遍历的index,第二个是当前遍历的值。
function loadInfo() {
$.getJSON("loadInfo", function(data) {
$("#info").html("");//清空info内容
$.each(data.comments, function(i, item) {
$("#info").append(
"<div>" + item.id + "</div>" +
"<div>" + item.nickname + "</div>" +
"<div>" + item.content + "</div><hr/>");
});
});
}
示范源代码:
项目结构图:
Index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%
String path = request.getContextPath();
String basePath =
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page">
<!--
-->
<script type="text/javascript" src="js/jquery-1.11.0.js"></script></head>
<body>
<div id="info"></div>
</body> <script type="text/javascript">
$(function(){
alert("OK");
$.getJSON("json", function(data) {
$("#info").html("");//清空info内容
$.each(data.comments, function(i, item) {
$("#info").append(
"<div>" + item.id + "</div>" +
"<div>" + item.nickname + "</div>" +
"<div>" + item.content + "</div><hr/>");
});
});
});
</script>
</html>
jsonServlet.java
import java.io.IOException;
import java.io.PrintWriter;【解析json】
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
@WebServlet("/json")
public class jsonServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("OK");
resp.setCharacterEncoding("utf-8");
String jsonStr="{'comments':[{'content':'很好!','id':1,'nickname':'nake'}, {'content':'very good!','id':2,'nickname':'nice'}]}";
JSONObject json=JSONObject.fromObject(jsonStr);
PrintWriter out=resp.getWriter();
out.print(json);
out.flush();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
}
5、jquery解析map数据
$.each()遍历Map的时候,function()中的参数是key和value
项目结构图:
JSON解析详细文档
解析json 第三篇
JSON 的含义?
JSON的全称是JavaScript Object Notation,是一种轻量级的数据交换格式。JSON与XML具有相同的特性,例如易于人编写和阅读,易于机器生成和解析。但是JSON比XML数据传输的有效性要高出很多。JSON完全独立与编程语言,使用文本格式保存。
JSON数据有两种结构:
Name-Value 对构成的集合,类似于Java中的Map。 Value的有序列表,类似于Java中的Array。
一个JSON格式的数据示例: {
"Name": "Apple",
"Expiry": "2007/10/11 13:54", "Price": 3.99, "Sizes": [ "Small", "Medium", "Large" ] }
更多关于JSON数据格式的说明参看JSON官方网站:/retype/zoom/f4f64fd1b14e852458fb572c?pn=5&x=0&y=1586&raww=14&rawh=15&o=png_6_0_0_213_608_16_17_893.25_1263.375&type=pic&aimh=15&md5sum=9947825c5cc6765ae336e9aa6fe51ad4&sign=9a7fab3c4a&zoom=&png=2712-6841&jpg=0-0" target="_blank">