您的位置:首页 > Web前端 > JavaScript

【第22篇】通过JackJson去读取Json数组数据

2015-01-19 23:03 429 查看
<pre name="code" class="java">package ivyy.taobao.com.domain.fackjson;

import ivyy.taobao.com.entity.About;

import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonParser;
import org.codehaus.jackson.JsonToken;
import org.codehaus.jackson.map.ObjectMapper;

/**
*@Author:liangjl
*@Date:2015-1-5
*@Version:1.0
*@Description:jackjson不支持'如:
*正确:jsonStr="[{\"age\":22,\"sex\":\"男\",\"userName\":\"xiaoliang\"},{\"age\":22,\"sex\":\"男\",\"userName\":\"xiaoliang\"}]";
*错误:jsonStr="[{'age':22,'sex':'男','userName':'xiaoliang'},{'age':22,'sex':'男','userName':'xiaoliang'}]";
*/
public class JackJson1 {
private static ObjectMapper mapper=new ObjectMapper();
public static void main(String[] args)throws Exception {
//json1.json

StringBuffer buff=new StringBuffer();

buff.append("[");
buff.append("{");
buff.append("\"weixin\"").append(":").append("\"YFDSBUYI\"").append(",");
buff.append("\"weibo\"").append(":").append("\"http://weibo.com/resourceljl\"").append(",");
buff.append("\"qq\"").append(":").append("\"1302128216\"").append(",");
buff.append("\"email\"").append(":").append("\"buyee_hr@126.com\"").append(",");
buff.append("\"address\"").append(":").append("\"广东省云浮市云城区闻莺路39号\"").append("");
buff.append("}");
buff.append(",");//第一个数组结尾
buff.append("{");
buff.append("\"weixin\"").append(":").append("\"YFDSBUYI\"").append(",");
buff.append("\"weibo\"").append(":").append("\"http://weibo.com/resourceljl\"").append(",");
buff.append("\"qq\"").append(":").append("\"1302128216\"").append(",");
buff.append("\"email\"").append(":").append("\"buyee_hr@126.com\"").append(",");
buff.append("\"address\"").append(":").append("\"广东省云浮市云城区闻莺路39号\"").append("");
buff.append("}");
buff.append("]");

String  jsonStr=buff.toString();

System.out.println(jsonStr);
//jsonStr=mapper.writeValueAsString(jsonStr);
//创建一个JsonFactory对象
JsonFactory factory=new JsonFactory();
//使用JsonParser处理json字符串
JsonParser parser=factory.createJsonParser(jsonStr);
//进行下一个json节点处理
parser.nextToken();
while (parser.nextToken()==JsonToken.START_OBJECT) {
About a=mapper.readValue(parser, About.class);
System.out.println(a.getAddress());

}

}
}



package ivyy.taobao.com.entity;

import java.io.Serializable;

/**
*@Author:liangjilong
*@Date:2015-1-5
*@Version:1.0
*@Description:
*/
public class About implements Serializable {

private String weixin;
private String weibo;
private String email;
private String qq;
private String address;

public String getWeixin() {
return weixin;
}
public void setWeixin(String weixin) {
this.weixin = weixin;
}
public String getWeibo() {
return weibo;
}
public void setWeibo(String weibo) {
this.weibo = weibo;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getQq() {
return qq;
}
public void setQq(String qq) {
this.qq = qq;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息