对象中一个变量的 Gson 自定义反序列化程序
我的问题示例:
我们有一个对象类型的苹果。苹果有一些成员变量:
String appleName; // The apples name
String appleBrand; // The apples brand
List<Seed> seeds; // A list of seeds the apple has
种子对象如下所示。
String seedName; // The seeds name
long seedSize; // The size of the seed
现在,当我得到一个苹果对象时,一个苹果可以有多个种子,或者它可以有一个种子,或者可能没有种子!
具有一个种子的 JSON 苹果示例:
{
"apple" : {
"apple_name" : "Jimmy",
"apple_brand" : "Awesome Brand" ,
"seeds" : {"seed_name":"Loopy" , "seed_size":"14" }
}
}
具有两个种子的示例 JSON 苹果:
{
"apple" : {
"apple_name" : "Jimmy" ,
"apple_brand" : "Awesome Brand" ,
"seeds" : [
{
"seed_name" : "Loopy",
"seed_size" : "14"
},
{
"seed_name" : "Quake",
"seed_size" : "26"
}
]}
}
现在的问题是,第一个示例是种子的 JSONObject,第二个示例是种子的 JSONArray。现在我知道它的JSON不一致,修复它的最简单方法是修复JSON本身,但不幸的是,我从其他人那里获得了JSON,所以我无法修复它。解决此问题的最简单方法是什么?