现有JSON字符串
Login对应shiyukirito
但我之前为此准备的类的变量是name,这样setName就会找不到Login,不能将shiyukirito变量正确存为name。
private String name;
private long id;
private String dio;
于是我加了一个setLogin方法,
public void setLogin(String name){this .name = name;}
但依然无法读入数值。
原因是setName方法把setLogin方法覆盖了。
也就是说JSON.parseObject调用了所有的set方法来执行
public void setName(String name) { this.name = name; System.out.println("执行了setname方法"+name); }
public void setLogin(String name){this .name = name;System.out.println("setLogin"+name);} //github 返回的JSON中Login对应name;
通过打印结果可以看出
setLoginshiyuKirito
执行了setname方法null
setLogin确实成功从JSON字符串中得到Login但setname中没有得到name的信息,覆盖了这个name
可以将setName方法注释掉来达成目的。或者在setName中判断一下name是否为空