JSON小示例

JSON(JAVASCRIPT OBJECT Notation,JAVASCRIPT的对象表示法).
1.ajaxjson.html代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ajax-JSON</title>
<script type="text/javascript" src="jslib/jquery-1.3.1.js"></script>
<script type="text/javascript" src="jslib/json.js"></script>
</head>
<body>
<input type='button' value='Show JSON' onclick='getJSON();'/>
<div id="show" style="disply:none;"></div>
</body>
</html>

json.js代码
function getJSON(){
var url ="AjaxJSONServlet?dumb"+new Date();
$.get(url, null, function (data){
var obj = eval(data);
var resultObj = $("#show");
var message ='';
for(var id in obj){
var s = obj[id];
message+=('ID:'+s.id+' NAME:'+s.name+' COUNTRY:'+s.country+' AGE:'+s.age);
message +="<br/>";

}
resultObj.html(message);
});
}

java服务器端代码(AjaxJSONServlet.java):
package com.ajax.test.part1;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLDecoder;

/**
* Created by IntelliJ IDEA.
* User: Administrator
* Date: 2011-6-26
* Time: 11:01:30
* To change this template use File | Settings | File Templates.
*/
public class AjaxJSONServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
this.doPost(httpServletRequest, httpServletResponse);

}

@Override
protected void doPost(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
httpServletResponse.setContentType("text/html;charset=utf-8");
PrintWriter out = httpServletResponse.getWriter();
/**返回一个数组(其中包含2个对象)***/
StringBuffer buff = new StringBuffer();
buff.append("[{");
buff.append(" id:").append("'").append("01234").append("',");
buff.append("name:").append("'").append("lyle").append("',");
buff.append("age:").append("20").append(",");
buff.append("country:").append("'").append("USA").append("'");
buff.append("},{");
buff.append(" id:").append("'").append("0000002").append("',");
buff.append("name:").append("'").append("lyle du").append("',");
buff.append("age:").append("29").append(",");
buff.append("country:").append("'").append("CN").append("'");
buff.append("}]");
//System.print();
out.print(buff);
}

}

注意:在做该功能时,必须引入jquery.
现在有专门的jar包支持json,见附件json.jar.
使用json.jar小示例:
JSONObject jsonObject = new JSONObject();
jsonObject.put("a", 1); jsonObject.put("b", 1.1);
jsonObject.put("c", 1L);
jsonObject.put("d", "test");
jsonObject.put("e", true);
System.out.println(jsonObject);
//{"d":"test","e":true,"b":1.1,"c":1,"a":1}


public static String toJSONObj(Map<Object, Object>... jsonList) {
StringBuffer buff = new StringBuffer();
for (Map<Object, Object> jsonMap : jsonList) {
Set<Entry<Object, Object>> set = jsonMap.entrySet();
List<String> l = new ArrayList<String>();
for (Iterator<Entry<Object, Object>> iter = set.iterator(); iter.hasNext();) {
Entry<Object, Object> entry = iter.next();
if (entry.getValue() instanceof Integer) {
l.add(String.valueOf(entry.getKey()) + ":" + entry.getValue());
} else {
l.add(String.valueOf(entry.getKey()) + ":'" + String.valueOf(entry.getValue())
+ "'");
}
}
buff.append(",").append("{").append(StringUtils.join(l.iterator(), ",")).append("}");
}

if (StringUtils.isNotBlank(buff.toString())) {
return "[" + buff.substring(",".length(), buff.toString().length()) + "]";
}
return "";
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值