fastJson在bean中加入@JsonProperty转换出的对象中依然有字段为null的处理
2017-03-09 10:43
651 查看
1.转换的代码如下
String json = "{\"id\":1059827483,\"idstr\":\"1059827483\",\"class\":1,\"screen_name\":\"DancingToDeath\"}";
System.out.println(json);
U u = JSONObject.parseObject(json, U.class);
System.out.println(u.getId());
System.out.println(u.getIdstr());
System.out.println(u.getMyClass());
System.out.println(u.getScreen());
2.U实体定义如下:
public class U {
private long id;
private String idstr;
@JSONField(name = "class")
private int myClass;
@JsonProperty("screen_name")
private String screen;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getIdstr() {
return idstr;
}
public void setIdstr(String idstr) {
this.idstr = idstr;
}
public int getMyClass() {
return myClass;
}
public void setMyClass(int myClass) {
this.myClass = myClass;
}
public String getScreen() {
return screen;
}
public void setScreen(String screenName) {
this.screen = screenName;
}
}
3.转换结果:
{"id":1059827483,"idstr":"1059827483","class":1,"screen_name":"DancingToDeath"}
1059827483
1059827483
1
null可见,screen_name并未转换出来,原因在于,对于普通的json解析类,用JsonProperty可以,但是在用fastJson进行解析时,需要用@JSONField(name = "screen_name")来进行标注。
4.改变U
private long id;
private String idstr;
@JSONField(name = "class")
private int myClass;
@JSONField(name = "screen_name")
private String screen;5.转换结果如下:
1059827483
1059827483
1
DancingToDeath
以此记录,希望能帮助到遇到同样问题的人。
String json = "{\"id\":1059827483,\"idstr\":\"1059827483\",\"class\":1,\"screen_name\":\"DancingToDeath\"}";
System.out.println(json);
U u = JSONObject.parseObject(json, U.class);
System.out.println(u.getId());
System.out.println(u.getIdstr());
System.out.println(u.getMyClass());
System.out.println(u.getScreen());
2.U实体定义如下:
public class U {
private long id;
private String idstr;
@JSONField(name = "class")
private int myClass;
@JsonProperty("screen_name")
private String screen;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getIdstr() {
return idstr;
}
public void setIdstr(String idstr) {
this.idstr = idstr;
}
public int getMyClass() {
return myClass;
}
public void setMyClass(int myClass) {
this.myClass = myClass;
}
public String getScreen() {
return screen;
}
public void setScreen(String screenName) {
this.screen = screenName;
}
}
3.转换结果:
{"id":1059827483,"idstr":"1059827483","class":1,"screen_name":"DancingToDeath"}
1059827483
1059827483
1
null可见,screen_name并未转换出来,原因在于,对于普通的json解析类,用JsonProperty可以,但是在用fastJson进行解析时,需要用@JSONField(name = "screen_name")来进行标注。
4.改变U
private long id;
private String idstr;
@JSONField(name = "class")
private int myClass;
@JSONField(name = "screen_name")
private String screen;5.转换结果如下:
1059827483
1059827483
1
DancingToDeath
以此记录,希望能帮助到遇到同样问题的人。
相关文章推荐
- fastJosn 转换对象为json格式字符串时, 空字段处理.
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- 通过FastJson把字符串转换成JSON和Map和List对象处理json数据
- 将map对象转换为json时,如果key的value值是null,将不会将其加入json字符串
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- 将实体类Bean转换为json对象的时候过滤null空值
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- Gson解析或者转换对象成json字符串时,String为NULL转空字符串处理方案
- fastjson 处理null值,对象为null时返回{},数字为null返回[]
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- FastJson、Jackson、Gson进行Java对象转换Json的细节处理
- 【第15篇】通过FastJson把字符串转换成JSON和Map和List对象处理json数据
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- FastJson、Jackson、Gson进行Java对象转换Json的细节处理
- json数据与JAVA数据的转换 jsonJavaBean.netApache 自己编写了一个工具类,处理页面提交json格式数据到后台,再进行处理成JAVA对象数据 1、DTO:Data T
- 【web开发】fastjackson转换json字符串为bean时忽略未知字段
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换