【发布时间】:2014-08-12 20:35:48
【问题描述】:
解析 JSON 中的嵌套键值对时出现问题。
JSON 结构。
{
"data":{
"action":"item1",
"react":"item2",
"categories":{
"Price":{
"$0-$10":{
"Refine":"false",
"bcc":"2"
},
"$251-$500":{
"Refine":"false",
"bcc":"2"
}
},
"Gender":{
"Girl":{
"Refine":"false",
"bcc":"2"
},
"Boy":{
"Refine":"false",
"bcc":"2"
}
}
}
}}
定义如下类为POJO
class Product
{
public Data data;
public class Data{
public String action;
public String react;
public Map<String,Map<String,request>> categories;
}}
public class request{
public string Refine;
public String bcc
}
JSON 元素“类别”中的键值对是动态的。
Product responseData = gson.fromJson(jsoninput,
Product.class);
尝试使用 gson 和 pogo 类 Product 解析上述 JSON
- 字段动作、反应被正确解析。
- 字段类别返回空地图。
【问题讨论】:
-
"上面的代码返回空MyMap",上面的代码是什么?您可以重命名 json MyMap 和您的类 MyMap 以避免混淆。您能否再次重申您的问题,并详细说明您想要什么。
-
感谢您的回复,我已经定义了一个 POGO 类来匹配 JSON 结构和类成员以进行反序列化。
-
我解决了你的问题,要发布还是你已经解决了?
-
我还在努力。如果您能发布解决方案,那就太好了。非常感谢!