JSON字符串转javaModel对象错误?

import java.util.List;

public class PersonTest {
    
    private String name;
    private Game game;
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Game getGame() {
        return game;
    }
    public void setGame(Game game) {
        this.game = game;
    }
}
public class Game {
    private String[] string;

    public String[] getString() {
        return string;
    }

    public void setString(String[] string) {
        this.string = string;
    }
}
public class MTest {
    public static void main(String[] arg) throws IOException{
        String json = "[{\"name\":\"Jack\",\"game\":{\"string\":[\"2\",\"3\"]}},{\"name\":\"Jack\",\"game\":{\"string\":[\"2\",\"3\"]}}]";
        JSONArray jsonobject = JSONArray.fromObject(json);
        List<PersonTest> list1 = (List<PersonTest>)JSONArray.toArray(jsonobject,PersonTest.class);
        for(PersonTest u : list1){
            System.out.println(u.getName());
        }
    }
}

为什么转换不了...报错了,哪里写的有错吗?

Exception in thread "main" java.lang.ClassCastException: [Lm.test.PersonTest; cannot be cast to java.util.List
    at m.test.MTest.main(MTest.java:21)
阅读 3.1k
2 个回答

ArrayList<PersonTest> list1 = (ArrayList<PersonTest>)JSONArray.toList(jsonobject,new PersonTest(),new JsonConfig()); 试试,不知道你用的是哪个jar的json,上面代码用的net.sf.json.JSONArray

对象里面还包含着对象,不确定json能不能转.但是我感觉jackson可以,不如,我们去看看hibernate用的什么转的?其实,json to object 是可以自己写方法转的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题