【发布时间】:2017-02-03 10:08:01
【问题描述】:
我需要一个函数,它读取 json 文件并控制 json 文件的结构。应定义必填字段。为了那个原因 我发现一个问题可以解决我的部分问题Gson optional and required fields。但在这种情况下,命名约定不再有效。就我而言,我使用了以下 GsonBuilder:
this.gsonUpperCamelCase = new GsonBuilder()
.registerTypeAdapter(TestClass.class, new AnnotatedDeserializer<TestClass>())
.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
.create();
来自 JSON 的每个键值对,在这种情况下,反序列化的 java 对象都需要小写。否则会抛出 JsonParseException。
例如我有这个类:
class TestClass {
@JsonRequired
private String testName;
//getter & setter
那么这个 JSON 文件就不能反序列化了:
{
"TestName":"name"
}
但我想确定在这种情况下使用了 UPPER_CAMEL_CASE。谢谢。
【问题讨论】:
-
MissBonbon,“控制结构”是什么意思?
-
我想确保 JSON 文件中给出了“TestName”。
标签: java gson deserialization