0
我正在使用Google-gson將JSON文件解析爲POJO。如果JSON文件格式不正確,GSON會拋出異常,這很好。但是我也需要類型驗證,所以如果出現以下錯誤:Java JSON數據類型驗證
- JSON字段的類型與POJO屬性的類型不匹配。
- JSON中缺少屬性。
- JSON中有屬性無法在POJO中找到。
所以,如果我有這個類:
class MyClass {
private String aString;
private int anInt;
private boolean aBoolean;
private String[] anArrayOfStrings;
}
一個JSON像下面將不會在任何情況下驗證:
{
"aString": 1234, // int instead of String
"anInt": "asd", // String instead of int
// missing aBoolean field
"anArrayOfStrings": [1, 2, 3, 4], // int array instead of String array
"unexpectedValue": "asd" // A field not present in the POJO
}
是否與GSON這樣做的方法嗎?否則,有其他的JSON解析和映射庫能夠以一種簡單的方式做到這一點?我的意思是,不必使用另一個包含模式驗證的JSON,如com.sdicons.jsontools
。
有關哪些屬性和這些屬性的類型在POJO本身中的信息,所以看起來GSON很容易驗證至少這些類型,但它不會,它只是猜測不正確值和缺失值的值。我需要拋出一個異常。
哦,是的感謝您指出的錯字 – dablak
Tichodroma,你可能會爲什麼它不是有效的提至OP。也就是說,JSON中的評論是不允許的。 – James