fastjson(javabean命名)
来源:互联网 发布:linux ll命令语法 编辑:程序博客网 时间:2024/05/29 14:52
使用jquery ajax请求获取了json格式的数据,获取到后一直不能按照想要处理的方式处理,本以为是前端除了问题,调试了之后发现竟然是fastjson在转换中那个属性没有转换。
上个例子看看:
import com.alibaba.fastjson.JSON;
public class JSONTest1 {
private String nM;
private String nnM;
private String GMou;
private String Gao;
public String toJson(){
return JSON.toJSONString(this);
}
public String getnM() {
return nM;
}
public void setnM(String nM) {
this.nM = nM;
}
public String getNnM() {
return nnM;
}
public void setNnM(String nnM) {
this.nnM = nnM;
}
public static void main(String[] args){
JSONTest1 jsonObject=new JSONTest1();
jsonObject.setnM("gao1");
jsonObject.setNnM("gao2");
jsonObject.setGao("gao3");
jsonObject.setGMou("gao4");
System.out.println(jsonObject.toJson());
}
public String getGMou() {
return GMou;
}
public void setGMou(String gMou) {
GMou = gMou;
}
public String getGao() {
return Gao;
}
public void setGao(String gao) {
Gao = gao;
}
}
输出是:
分析下: 为什么nM没有被输出呢?
一个Javabean对象的命名规则及解析:
如果属性名的第二个字母大写,那么该属性名直接用作 getter/setter 方法中 get/set 之后的部分(大小写维持不变)。
如果前两个字母是大写,那么该属性名直接用作 getter/setter 方法中 get/set 之后的部分(大小写维持不变)。
如果首字母大写,那么该属性名直接用作 getter/setter 方法中 get/set 之后的部分(大小写维持不变)。
其余情况下,属性名中首字母变为大写用作 getter/setter 方法中 get/set 之后的部分。
这三种情况都解决了,但是明显看到属性名:“GMou”变为了"gMou",“Gao"变为"gao",可见还是java反射的那一套,只是在寻找get、set方法中拿get/set之后是小写字母的属性就没辙了,需要注意下命名。
属性首字母小写第二个字母大写,是会被fastjson给扔掉不管的。
- fastjson(javabean命名)
- fastjson解析中的javaBean
- JavaBean属性命名规范(Boolean类型)
- javabean命名注意事项
- JavaBean的命名规则
- JavaBean命名规范
- JavaBean 成员命名规范
- javaBean命名规范
- JavaBean的命名规则
- JavaBean的命名规则
- JavaBean命名规范
- JavaBean的命名规则
- JavaBean命名规范
- JavaBean的命名规则
- JavaBean的命名规范
- JavaBean的命名规则
- JavaBean的命名规则(遇到的问题)
- JavaBean 属性命名规范特例
- java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils错误异常
- Java中计算时间差
- java 字节流与字符流的区别
- 杂谈1 - 优秀网络工程师必备素质
- JS 禁止IE用右键
- fastjson(javabean命名)
- Sqlite 分页(http://www.cnblogs.com/shang53880/archive/2011/03/11/1981749.html)
- 在Ubuntu中使用终端删除应用程序
- 路由协议
- Java文件运用
- Timus 1078. Segments
- linux笔记(二)
- 大众点评的大数据实践——超级干货!
- Emacs 配置之查找是否有“*scheme*”窗口