我的响应有很多值,但是有一个是过滤器对象,它们会在一段时间内在数组中出现一段时间。
按照这样的数组进行投放,
"filter": [
{
"id": 3,
"level": "0",
"parent_id": 0,
"category_name": "Women",
"LEVEL1": [
{
"id": 130,
"level": "1",
"parent_id": 3,
"parent_name": "Women",
"category_name": "Saree",
"LEVEL2": [
{
"id": 152,
"level": "2",
"parent_id": 130,
"parent_name": "Saree",
"parent_parent_id": 3,
"parent_parent_name": "Women",
"category_name": "Party Wear"
}
]
}
]
有一段时间会这样,
"filter": {
"0": {
"attribute_title": "Brand",
"attribute_id": 1,
"childs": [
{
"child_attribute_name": "Ambica",
"child_attribute_id": 530,
"count": 38
}
]
}
我正在使用Gson,然后如何在代码中识别,
答案 0 :(得分:0)
使用GSON API:
从响应json创建JsonObject
并将其传递给以下方法:
public Class<?> getJSONType(JsonObject jsObj) {
GsonBuilder gBuilder = new GsonBuilder();
Gson gson = gBuilder.create();
Object obj = gson.fromJson(jsObj.get("filter"), Object.class);
if(obj instanceof List){
return List.class;
}else if(obj instanceof Map){
return Map.class;
}
return null;
}
这里我认为过滤器是JSON中的顶级元素。
应修改代码jsObj.get("filter")
以达到正确的位置。