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

<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;
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习的蹭蹭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值