我正在尝试解析一个由客户对象数组组成的 JSON 对象。每个客户对象都包含许多键/值对:
{
"Customers":
[
{
"customer.name": "acme corp",
"some_key": "value",
"other_key": "other_value",
"another_key": "another value"
},
{
"customer.name": "bluechip",
"different_key": "value",
"foo_key": "other_value",
"baa": "another value"
}
]
}
复杂之处在于我事先不知道密钥。第二个复杂因素是键包含句点 (.),这意味着即使我尝试将它们映射到字段,它也会失败。
我一直在尝试将这些映射到客户类:
Customers data = new Gson().fromJson(responseStr, Customers.class);
看起来像这样:
public class Customers {
public List<Customer> Customers;
static public class Customer {
public List<KeyValuePair> properties;
public class KeyValuePair {
String key;
Object value;
}
}
}
我的问题是,当我从 JSON 加载此类时,我的客户列表会填充,但它们的属性为空。我怎样才能让 GSON 处理我不知道键名的事实?
我尝试了各种其他方法,包括在 Customer 类中放置一个 HashMap 来代替 KeyValuePair 类。