JSON解析

[align=center][b]AJAX里面的JSON解析[/b][/align]
	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();
}

[b]js文件内容:[/b]
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;
}

[b]使用JSON-lib把集合或者对象转换成JSON格式字符串[/b]
[b]第一步:添加如下jar包[/b]
[list]
[*]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
[/list]
[b]第二步:测试[/b]
[b]构建Province对象:[/b]
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;
}
}

[b]编写测试类:[/b]
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());
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值