在json字符串转java bean时,一般的对象,可以直接转,如:一个学生类,属性有姓名、年龄等
public class Student implements java.io.Serializable{
/**
* @Fields serialVersionUID : TODO
*/
private static final long serialVersionUID = -1943961352036134112L;
private String sname;
private Integer age;
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
由字符串转java bean时可以使用以下方法:
JSONObject jobj = JSONObject.fromObject(str);
Student s = (Student) JSONObject.tobean(jobj,Student.class);
是没有问题的,但是如果属性中含有复杂的类型,当其中属性有类似List , Map ,ArrayList、自定义的类型,如List<Teacher> teachers, 就不可以了。 会报错:MorphDynaBean cannot be cast to con.test……
在JSONObject.toBean的时候如果转换的类中有集合,可以先定义Map<String, Class> classMap = new HashMap<String, Class>();在classMap中put你要转换的类中的集合名,像:classMap.put("teachers", Teacher.class);然后在toBean()的时候把参数加上, 像:Student student=(Student) JSONObject.toBean(str, Student.class, classMap);
比如我定义了如下类型:
import java.util.List;
/**
*
* <P>Tiltle: AnalysisModel.java </P>
* <P>Description:模型类 </P>
* @author biyutong
* @date Jun 11, 2012 9:37:54 AM
* @version:V1.0
*/
public class AnalysisModel implements java.io.Serializable{
/**
* 固定条件
*/
private List<Condition> regularCondtionList;//
/**
* 动态条件
*/
private List<ConditionField> dynamicConFieldList;
/**
* 结果
*/
private List<ResultField> resultField;
/**
* 获取前多少条数据
*/
private Integer topnum;
/**
* 顺序还是随机
*/
private String sortFlag;
/**
* 备注
*/
private String remark;
/**
* 模型名称
*/
private String modelName;
/**
* 对应的xml文件名称
*/
private String fileName;
public List<Condition> getRegularCondtionList() {
return regularCondtionList;
}
public void setRegularCondtionList(List<Condition> regularCondtionList) {
this.regularCondtionList = regularCondtionList;
}
public List<ConditionField> getDynamicConFieldList() {
return dynamicConFieldList;
}
public void setDynamicConFieldList(List<ConditionField> dynamicConFieldList) {
this.dynamicConFieldList = dynamicConFieldList;
}
public Integer getTopnum() {
return topnum;
}
public void setTopnum(Integer topnum) {
this.topnum = topnum;
}
public String getSortFlag() {
return sortFlag;
}
public void setSortFlag(String sortFlag) {
this.sortFlag = sortFlag;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getModelName() {
return modelName;
}
public void setModelName(String modelName) {
this.modelName = modelName;
}
public List<ResultField> getResultField() {
return resultField;
}
public void setResultField(List<ResultField> resultField) {
this.resultField = resultField;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
}
在转化的时候需要这样来写:
Map<String, Class> classMap = new HashMap<String, Class>();
classMap.put("regularCondtionList", Condition.class);
classMap.put("dynamicConFieldList", ConditionField.class);
classMap.put("resultField", ResultField.class);
AnalysisModel analysisModel=(AnalysisModel) JSONObject.toBean(str, AnalysisModel.class, classMap);
分享到:
相关推荐
忽略字段的首字母大小写,将json字符串转成javabean,忽略字段的首字母大小写,将json字符串转成List
忽略字段的首字母大小写,将json字符串转成javabean对象,解决Java对象中属性中首字母大写而取不到值(取到的值为空)的问题 忽略字段的首字母大小写,将json字符串转成List,解决Java对象中属性中首字母大写而取不...
里面有详细的json字符串和java对象(JavaBean,HashMap,ArrayList,Array...)的互相转化
将JavaBean对象与Json字符串相互转换,将Java集合与Json字符串集合相互转换。
一个自制的json转换jar 直接调用JsonFactory.toJson()方法可将javaBean转换成json
提供json转javabean和javabean转json的方法
资源包内含有说明和效果图 只需要将Json字符串复制到工具内,一键转换为对应实体类(javabean类)。 非常好用,为程序员节省了很多时间。
首字母大写的json串转为javabean实例,
快速将json数据中字段转成javabean类
5.2 字符串处理的JavaBean的编写…………………………………20 5.3 商品JavaBean的编写……………………………………………22 5.4 保存购物信息的JavaBean的编写………………………………22 5.5 对商品信息操作的...
我们开发的java系统,经常需要调用其他系统的API。这些API的返回格式,往往都是json格式。这个小工具,可以帮助你把json格式的数据,转换成对应的javabean。以简化你手动拷贝粘贴json属性的工作。
FsonFormat是一款Eclipse 插件,实现了一键解决复杂JSON ,快速实现JavaBean功能,提供开发人员和测试人员使用 FsonFormat是一款专为Eclipse打造的快速解析json的插件 1、根据Gson库使用的要求,将JSON结构格式解析...
自己写的一个json生成JavaBean工具类,需要有fastJson依赖存在才能使用,通过输入读取json数据的文本地址和输出javaBean文件的地址,执行Json2BeanUtil类的json2Bean方法,可自动生成JavaBean,需要自己手动导入各...
json字符串转换javaBean转换工具类.................................
主要介绍了javabean转成json字符并首字母大写代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
google 的 json工具包, 实现json字符串与javabean之间的互转 阿里的的 json工具包, 实现json字符串与javabean之间的互转
此方法可以实现javabean,map,json的自由转换,方便大家的的操作
javabean 通过此工具实现json生成javabean实体类 你给我json,我帮你输出javabean实体类,超级简单便捷,省去了你手动敲代码的重复性工作
json转javabean的一个工具,只要输入类名和合法的json格式就会在当前文件夹下生成java文档,操作时图形界面的,纯java编写可以跨平台操作。
前台字符串赋值给JavaBean属性自动类型转换的实现(BeanUtils,ConverterConvertUtils三个类的使用)