当前位置: 首页 > 实用文档 > 推荐 > 在线解析json

在线解析json

2016-03-30 11:40:16 成考报名 来源:http://www.chinazhaokao.com 浏览:

导读: 在线解析json(共3篇)json解析例子下面这个是自己修改别人的小例子,主要是加一些注释和讲解,这个例子主要是使用android进行json解析。1 单数据{singer:{id:01,name:tom,gender:男}}2 多个数据{singers:[3 {id:02,name:tom,gender...

以下是中国招生考试网www.chinazhaokao.com为大家整理的《在线解析json》,希望大家能够喜欢!更多资源请搜索成考报名频道与你分享!

篇一:《json解析例子》

下面这个是自己修改别人的小例子,主要是加一些注释和讲解,这个例子主要是使用android进行json解析。

1 单数据{'singer':{'id':01,'name':'tom','gender':'男'}}

2 多个数据{"singers":[

3 {'id':02,'name':'tom','gender':'男'},

4 {'id':03,'name':'jerry,'gender':'男'},

5 {'id':04,'name':'jim,'gender':'男'},

6 {'id':05,'name':'lily,'gender':'女'}]}

下面的类主要是解析单个数据parseJson()和多个数据的方法parseJsonMulti(): 查看源码

打印?

01 public class JsonActivity extends Activity {

02 /** Called when the activity is first created. */

03 private TextView tvJson;

04 private Button btnJson;

05 private Button btnJsonMulti;

06 @Override

07 public void onCreate(Bundle savedInstanceState) {

08 super.onCreate(savedInstanceState);

09 setContentView(R.layout.main);

10 tvJson = (TextView) this.findViewById(R.id.tvJson);

11 btnJson = (Button) this.findViewById(R.id.btnJson);

12 btnJsonMulti = (Button) this.findViewById(R.id.btnJsonMulti);

13 btnJson.setOnClickListener(new View.OnClickListener() {

14 @Override

15 public void onClick(View v) {

16 // url

17 // String strUrl = "18 String strUrl = ServerPageUtil.getStrUrl(UrlsOfServer.JSON_SINGER); 19 //获得返回的Json字符串

20 String strResult = connServerForResult(strUrl);

21 //解析Json字符串

22 parseJson(strResult);

23 }

24 });

25 btnJsonMulti.setOnClickListener(new View.OnClickListener() {

26 @Override

27 public void onClick(View v) {

28 String strUrl = ServerPageUtil.getStrUrl(UrlsOfServer.JSON_SINGERS); 29 String strResult = connServerForResult(strUrl);

30 //获得多个Singer

31 parseJsonMulti(strResult);

32 }

33 });

34 }

35 private String connServerForResult(String strUrl) {

36 // HttpGet对象

37 HttpGet httpRequest = new HttpGet(strUrl);

38 String strResult = "";

39 try {

40 // HttpClient对象

41 HttpClient httpClient = new DefaultHttpClient();

42 // 获得HttpResponse对象

43 HttpResponse httpResponse = httpClient.execute(httpRequest);

44 if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { 45 // 取得返回的数据

46 strResult = EntityUtils.toString(httpResponse.getEntity());

47 }

48 } catch (ClientProtocolException e) {

49 tvJson.setText("protocol error");

50 e.printStackTrace();

51 } catch (IOException e) {

52 tvJson.setText("IO error");

53 e.printStackTrace();

54 }

55 return strResult;

56 }

57 // 普通Json数据解析

58 private void parseJson(String strResult) {

59 try {

60 JSONObject jsonObj = new JSONObject(strResult).getJSONObject("singer"); 61 int id = jsonObj.getInt("id");

62 String name = jsonObj.getString("name");

63 String gender = jsonObj.getString("gender");

64 tvJson.setText("ID号"+id + ", 姓名:" + name + ",性别:" + gender); 65 } catch (JSONException e) {

66 System.out.println("Json parse error");

67 e.printStackTrace();

68 }

69 }

70 //解析多个数据的Json

71 private void parseJsonMulti(String strResult) {

72 try {

73 JSONArray jsonObjs = new JSONObject(strResult).getJSONArray("singers"); 74 String s = "";

75 for(int i = 0; i < jsonObjs.length() ; i++){

76 JSONObject jsonObj = ((JSONObject)jsonObjs.opt(i))

77 .getJSONObject("singer");

78 int id = jsonObj.getInt("id");

79 String name = jsonObj.getString("name");

80 String gender = jsonObj.getString("gender");

81 s += "ID号"+id + ", 姓名:" + name + ",性别:" + gender+ "\n" ; 82 }

83 tvJson.setText(s);

84 } catch (JSONException e) {

85 System.out.println("Jsons parse error !");

86 e.printStackTrace();

87 }

88 }

89 }

篇二:《jQuery解析JSON》

jQuery 中使用 JSON

JSON 格式

json 是 Ajax 中使用频率最高的数据格式,在浏览器和服务器中之间的通讯可离不开它。 需要特别注意的是,在 JSON 中的属性名是需要使用引号引起来的。 jQuery 中使用 JSON在线解析json

jQuery 是现在使用广泛的脚本库,那么,在 jQuery 中如何使用 JSON 呢?

1、本身就是JSON数据格式。就按JSON数据访问即可,如下例子: $(function(){

var people2={"name1":"a1","name2":"a2","name3":"a3"}; alert(people2.name3);

});在线解析json

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) {在线解析json

$("#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内容在线解析json

$.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;

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的全称是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=b0a6b02257&zoom=&png=2712-6841&jpg=0-0" target="_blank">

相关热词搜索:json在线解析器 json在线解析工具
  • 1、在线json解析(2016-05-19)
  • 最新推荐成考报名

    更多
    1、“在线解析json”由中国招生考试网网友提供,版权所有,转载请注明出处。
    2、欢迎参与中国招生考试网投稿,获积分奖励,兑换精美礼品。
    3、"在线解析json" 地址:http://www.chinazhaokao.com/tuijian/332040.html,复制分享给你身边的朋友!
    4、文章来源互联网,如有侵权,请及时联系我们,我们将在24小时内处理!

    最新成考报名

    成考报名排行榜