java当我尝试用GSON反序列化JSON时,会得到空字段
要点
我试图用GSON反序列化一些JSON文本。JSON字符串定义了值。但是,反序列化的字符串具有空值
正是我所做的
我试图用GSON反序列化一些JSON文本
SomeSpec deserializedJson = GSON.fromJson(serializedJson, SomeSpec.class);
其中serializedJson
是包含
{
"some_class": "abc.def.SomeClass",
"stuff": [
"FOO",
"BAR",
],
"definition": {
"values": [
{ "feature": "FOO", "value": 1.0 },
{ "feature": "BAR", "value": 1.0 },
]
}
}
而SomeSpec
是一个java类,包含:
package somepackagepath;
import java.util.List;
public class SomeSpec {
private List<FeatureValueSpec> _values;
private List<String> _postProcessFunctions;
public List<FeatureValueSpec> getValues() {
return _values;
}
public List<String> getPostProcessFunctions() {
return _postProcessFunctions;
}
public static class FeatureValueSpec {
private String _feature;
private float _value;
public String getFeature() {
return _feature;
}
public float getValue() {
return _value;
}
}
}
反序列化对象只有空字段,即使JSON明确定义了这些字段
# 1 楼答案
第一:数组中的JSON有两个错误。每个数组的末尾都有额外的逗号
其次,你的模型应该是这样的