当前位置:首页 > 开发 > 编程语言 > Json > 正文

JSON解析

发表于: 2013-05-22   作者:chinrui   来源:转载   浏览次数:
摘要: AJAX里面的JSON解析 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("GBK"); resp
AJAX里面的JSON解析

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		request.setCharacterEncoding("GBK");
		response.setContentType("text/html;charset=gbk");
		PrintWriter out = response.getWriter();
		
		String str = "[" +
				"{name:'吉林省'}," +
				"{name:'辽宁省'}," +
				"{name:'山东省'}" +
				"]";
		out.println(str);
		out.flush();
		out.close();
	}

js文件内容:
window.onload = function() {
	var req = getXMLHttpRequest();
	
	req.onreadystatechange = function() {
		if(req.readyState == 4) {
			if(req.status == 200 || req.status == 304) {
				var text = req.responseText;
				var textObject = eval("(" + text + ")");
				var provinceNode = document.getElementById("provinces");
//				alert(textObject.length);
				
				for(var x = 0; x < textObject.length; x++) {
					var optionNode = document.createElement("option");
					var textNode = document.createTextNode(textObject[x].name);
					optionNode.appendChild(textNode);
					provinceNode.appendChild(optionNode);
				}
			}
		}
	}
	
	req.open("post","provinceServlet",true);
	req.send(null);
}

function getXMLHttpRequest() {
	var req;
	
	//根据不同的浏览器创建不同的XMLHttpRequest对象
	if(window.XMLHttpRequest) {  
        req = new XMLHttpRequest();  
    } else if(window.ActiveXObject) {  
        req = new ActiveXObject("Microsoft.XMLHTTP");  
    } 
	
	return req;
}

使用JSON-lib把集合或者对象转换成JSON格式字符串
第一步:添加如下jar包
  • json-lib-2.4-jdk15.jar
  • commons-lang-2.4.jar
  • commons-logging.jar
  • ezmorph-1.0.4.jar
  • commons-collections.jar
  • commons-beanutils.jar

第二步:测试
构建Province对象:
package com.hpu.model;

public class Province {
	private int id;
	private String name;

	public Province(int id, String name) {
		this.id = id;
		this.name = name;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

编写测试类:
package com.hpu.gosn;

import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import com.hpu.model.Province;

public class GSON {
	public static void main(String[] args) {
		List<Province> lists = new ArrayList<Province>();
		Province pro1 = new Province(1,"吉林省");
		Province pro2 = new Province(2,"辽宁省");
		Province pro3 = new Province(3,"山东省");
		
		lists.add(pro1);
		lists.add(pro2);
		lists.add(pro3);
/*********************************************************************/
		//将一个集合转换成JSON格式
		JSONArray jsonArray = JSONArray.fromObject(lists);
		
		//将对象里面的所有属性全部转换成JSON形式
		//[{"id":1,"name":"吉林省"},{"id":2,"name":"辽宁省"},{"id":3,"name":"山东省"}]
		System.out.println(jsonArray.toString());
		
		//只要其中的一部分属性,去掉id
		//[{"name":"吉林省"},{"name":"辽宁省"},{"name":"山东省"}]
		JsonConfig jsonConfig = new JsonConfig();
		jsonConfig.setExcludes(new String[]{"id"});
		JSONArray jsonArray1 = JSONArray.fromObject(lists,jsonConfig);
		System.out.println(jsonArray1.toString());
/*********************************************************************/
		//将一个对象转换成JSON格式
		//{"id":1,"name":"吉林省"}
		JSONObject jsonObject = JSONObject.fromObject(pro1);
		System.out.println(jsonObject.toString());
		
		//只要其中的一部分属性,去掉id
		//{"name":"吉林省"}
		JsonConfig jsonConfigObject = new JsonConfig();
		jsonConfigObject.setExcludes(new String[]{"id"});
		JSONObject jsonObject2 = JSONObject.fromObject(pro1,jsonConfigObject);
		System.out.println(jsonObject2.toString());
	}
}

JSON解析

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
JSON数据格式,在Android中被广泛运用于客户端和网络(或者说服务器)通信,非常有必要系统的了解学习
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-
JSON(JavaScript Object Notation) 定义: 它是基于JavaScript编程语言ECMA-262 3rd Edition-Decemb
先谢谢教程的提供者,本人仅仅是为学习所用,无他意! 一、json介绍: http://www.json.org/json-zh
String strTest = "{'one':[ {'two':[ {'three':'去头屑','four':[ {'five':'用立白'},{'six':'和尚
JSON(JavaScript Object Notation) 定义: 它是基于JavaScript编程语言ECMA-262 3rd Edition-Decemb
一、 windows XP 1. MIME设置: 在IIS的站点属性的HTTP头设置里,选MIME 映射中点击”文件类型”-
之前我们都是解析XML文件,虽然规范化了文件传输的定义格式,但是大家有没有意识到每次传输前都要进
引用:http://blog.csdn.net/enuola/article/details/7903632 作为一种轻量级的数据交换格式,json
一、 windows XP 1. MIME设置: 在IIS的站点属性的HTTP头设置里,选MIME 映射中点击”文件类型”-
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号