![](/img/trans.png)
[英]How can i decode in java a string generated by javascript using readAsDataURL() and sent by Json?
[英]How can I decode a json string with 'default' class properties in java?
我尝试了以下代码:
public class Member{
int age;
String name;
String eyeColor = blue;
Member (){
eyeColor = blue;
}
}
String newMembers="[{\"age\":\"43\",\"name\":\"Anne\"}]";
Gson gson = new Gson();
Type listType = new TypeToken<ArrayList<Member>>() {}.getType();
ArrayList<Member> nMembrs = gson.fromJson(newMembers, listType);
将创建一个新的ArrayList,其中包含成员“ Anne”,但即使使用构造函数,其eyecolor = null。
我该如何实现?
我尝试了您的代码(Windows上为Gson 2.2.4,JVM 1.7),但是在您的示例中, blue
根本没有定义。 我定义了:
public static final String blue = "BLUE";
所以我得到了这个结果:
Member [age=43, name=Anne, eyeColor=BLUE]
因此,我怀疑在某处定义了blue
但由于检查了默认构造函数已被调用而未初始化。 我还向Members
添加了一个int
ivar,并将其设置为0。
GSON创建Members
使用newInstance
方法(大致调用new Member()
如果你想建设目标的过程中通过一些值,你需要使用一个InstanceCreator 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.