为什么没有调用IACircle构造函数?
我就是这样装Json的..。
BufferedReader br = new BufferedReader(in);
LevelDefinition ld = new Gson().fromJson(br, LevelDefinition.class);Json字符串..。
{
"iaCircles": [
{
"x": -32.0,
"y": -5.0,
"angle": 0.0,
"radius": 2.5,
"density": 0.0,
"friction": 0.0,
"restitution": 1.0,
"textureSelection": "CIRCLE",
"inflictsDamage": true,
"fixedRotation":true
},
{
"x": 55.0,
"y": -5.0,
"angle": 0.0,
"radius": 2.5,
"density": 0.0,
"friction": 0.0,
"restitution": 1.0,
"textureSelection": "CIRCLE",
"inflictsDamage": true,
"fixedRotation":true
}
]
}Java类解析为..。
public class LevelDefinition {
private Vector<IACircle> iaCircles;
}IACircle定义。
public class IACircle {
public IACircle (
float x, float y, float angle, float radius,
float density, float friction, float restitution,
String textureSelection, boolean inflictsDamage, boolean fixedRotation) {
System.out.println("constructor called, circle");
}
}发布于 2014-05-21 21:47:19
您应该为类定义默认的非args构造函数。GSON只调用no-args构造函数来初始化类.您有一个带参数的构造函数,这就是不调用它的原因;它创建一个ObjectConstructor来初始化。试试这个:
public class IACircle {
public IACircle () {
System.out.println("constructor called, circle");
}
}https://stackoverflow.com/questions/23794317
复制相似问题