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

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;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值