我想使用GSON来解码一个map数组,其中的键不是String。我知道JSON类型不允许将对象用作键,所以我希望可以让GSON递归地解码字符串。
Java
public class Reader {
static class Key {
int a;
int b;
}
static class Data {
HashMap<Key, Integer> map;
}
public static void read() {
Gson gson = new Gson();
String x = "[{\"map\": { \"{\\\"a\\\": 0, \\\"b\\\": 0}\": 1 }}]";
Data[] y = gson.fromJson(x, Data[].class);
}
}
JSON示例
[
{
"map": {
"{\"a\": 0, \"b\": 0}": 1
}
}
]
我想在这里实现的是,GSON将字符串"{\"a\": 0, \"b\": 0}"
解码为Key
类型的对象,两个成员都设置为0。然后,该对象可用于填充数据类的HashMap。
这有可能实现吗?
https://stackoverflow.com/questions/52541220
复制相似问题