4
回答
fastjson的jsonobject.parseObject(jsonstr)是忽略指定字段或大文本处理
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

各位大神好,最近在做微信开发,这是微信的返回数据格式,获取到数据后想转换成jsonobject进行处理,在jsonObject.parseObject(jsonStr)时,item下的content过长导致超过指定字数之后后面字就不显示了有没有什么办法可以,忽略该字段不让它输出,或者把所有数据都显示出来?

举报
共有4个答案 最后回答: 1年前
public class Demo {
	static class User implements Serializable{
		/**
		 * 
		 */
		private static final long serialVersionUID = -8472038503154798337L;
		private String name;
		private List<Loc> locs;

		public List<Loc> getLocs() {
			return locs;
		}

		public void setLocs(List<Loc> locs) {
			this.locs = locs;
		}

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}
	}
	static class Loc implements Serializable{
		/**
		 * 
		 */
		private static final long serialVersionUID = 2444899588495419764L;
		private List<Item> items;

		public List<Item> getItems() {
			return items;
		}

		public void setItems(List<Item> items) {
			this.items = items;
		}
	}
	static class Item implements Serializable{
		/**
		 * 
		 */
		private static final long serialVersionUID = 8827660542788249510L;
		private String name;
		private String content;
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public String getContent() {
			return content;
		}
		public void setContent(String content) {
			this.content = content;
		}
	}
	public static void main(String[] args) {
		User u = new User();
		u.setName("test");
		List<Loc> locs = new ArrayList<Loc>();
		Loc loc1 = new Loc();
		List<Item> items = new ArrayList<Item>();
		
		Item item = new Item();
		item.setContent("1111");
		item.setName("aaaaaa");
		items.add(item);
		loc1.setItems(items);
		locs.add(loc1);
		u.setLocs(locs);
		String json = JSONObject.toJSONString(u);
		User user = JSONObject.parseObject(json, User.class);
		System.err.println(1);
	}
}



啥意思,没看懂,你可以直接转成一个对象呀,这个对象没有content,那就映射不了了呀
--- 共有 10 条评论 ---
螃蟹大叔回复 @爱新觉罗大锤 : 看我下面发的代码 1年前 回复
螃蟹大叔回复 @爱新觉罗大锤 : 定义一个List<Item> item的属性就好了 1年前 回复
爱新觉罗大锤回复 @刘万杰 : 。。。这我肯定知道啊,外面有一层media_id,update_time,content字段,里面有一层title,author等字段(不建content)字段。。外面的model和里面层model怎么关联,一对多嘛?这种一对多vo该怎么反例化呀? 1年前 回复
螃蟹大叔回复 @爱新觉罗大锤 : 你的那个new_item里面的每个元素是一个对象,这个对象不需要content属性就可以了 1年前 回复
爱新觉罗大锤回复 @刘万杰 : item里面会有对多个content,这个要怎么处理啊,弄个item的model里一对多一个List<content>嘛 1年前 回复

parse的话, 不要item字段;

如果是toJson的话, 设置为jsonIgnore..


-----

加我微信214710841, 可以一起交流哦

你解析成多个,然后再打印出来。你这是跟踪吧
--- 共有 3 条评论 ---
爱新觉罗大锤回复 @farce : 试过了转成array的时候就已经有字数限制了,只要一用parseObject,parseArray接口,就有字数限制了 1年前 回复
farceitem下是个array啊,转成array再抽出里面的arrary或object 1年前 回复
爱新觉罗大锤大神,怎么解析成多个呀。。。什么意思呀,解释一下思路和实现的方法行不行 1年前 回复
顶部