一个json-lib.jar转换复杂对象的问题?

相关的bean如下
TVO.java代码如下

package demo;

import java.util.*;

import com.easylotto.lottobar.bean.BaseEntity;
import com.easylotto.lottobar.bean.ReqCommandVO;

public class TVO extends BaseEntity{
private String tname;
private List<Person> rcvoList;
private Map map;

public List<Person> getRcvoList() {
return rcvoList;
}

public void setRcvoList(List<Person> rcvoList) {
this.rcvoList = rcvoList;
}

public String getTname() {
return tname;
}

public void setTname(String tname) {
this.tname = tname;
}


public Map getMap() {
return map;
}

public void setMap(Map map) {
this.map = map;
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

}

}


Person.java如下

package demo;

public class Person {
private String name;
private String age;

public Person(String name,String age){
this.name=name;
this.age=age;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

}



测试类如下:

package demo;

import net.sf.json.*;
import java.util.*;

import com.easylotto.lottobar.bean.ReqCommandVO;
import com.easylotto.lottobar.bean.SocketCommandEntity;

/**
* Json使用测试类
* @author peidw
*
*/
public class JsonDemo {

public String JsonStr2Object(){
String str="{'map':{'a2':'A2','a1':'A1'},'rcvoList':[{'age':'20','name':'小裴'},{'age':'58','name':'小庞'}],'tname':'xxname'}";
JSONObject jo=JSONObject.fromObject(str);
TVO sce=null;
if(jo!=null){
sce=(TVO)jo.toBean(jo, TVO.class);
List alist=sce.getRcvoList();
System.out.println(alist.size());
Person rcvo=null;
for(int i=0;i<alist.size();i++){
rcvo=(Person)alist.get(i);
System.out.print(rcvo.getName()+"-"+rcvo.getAge());
}
}


return "测试";
}

public void Object2JsonStr(){

TVO tvo=new TVO();
tvo.setTname("xxname");
List <Person>a=new ArrayList();
a.add(new Person("小裴","20"));
a.add(new Person("小庞","58"));
tvo.setRcvoList(a);
Map map=new HashMap();
map.put("a1", "A1");
map.put("a2", "A2");
tvo.setMap(map);
JSONObject jo=JSONObject.fromObject(tvo);
System.out.println(jo);
}

public static void main(String[] args){
JsonDemo jd=new JsonDemo();
jd.JsonStr2Object();
//jd.Object2JsonStr();
}
}



出现的异常如下
2
Exception in thread "main" java.lang.ClassCastException: net.sf.ezmorph.bean.MorphDynaBean
at demo.JsonDemo.JsonStr2Object(JsonDemo.java:26)
at demo.JsonDemo.main(JsonDemo.java:53)
使用的是json-lib-2.2.1-jdk15.jar包,请问这是怎么回事,怎么解决?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值