我正在使用API提供输入字符串,并返回一些关键字自动填充和产品节点。
我的目标是反序列化响应并获取我可以使用的自动完成字符串列表。我试图在一个带有Retrofit库的Android应用程序中实现它,该库使用gson。
首先,我不确定我的响应是典型的JSON响应。节点' item有键/值对,但输入字符串和自动填充列表似乎没有我可以使用的键。
["pol",
["polaroid camera",
"polo",
"polo ralph lauren",
"polo ralph lauren men",
"polar heart rate monitor",
"polaroid",
"polo shirt",
"polar watch",
"police scanner",
"polar"],
[{
"nodes": [{
"alias": "electronics",
"name": "Electronics"
},
{
"alias": "electronics-tradein",
"name": "Electronics Trade-In"
}]
},
{
},
{
},
{
},
{
},
{
},
{
},
{
},
{
},
{
}],
[]]
这是我尝试将gson反序列化的java类。但是,根据我的理解,它不起作用,gson需要类变量来匹配JSON键(对于Node类是真的,而不是其余的)。
class Response {
String input;
List<String> keywords;
List<Node> nodes;
}
class Node {
String alias;
String name;
}
答案 0 :(得分:1)
json中只有几个键,这主要是一个Json数组。
如果您可以更改JSON,请将其更像
{
"input" : "pol",
"keywords" : ["polaroid camera","polo",...],
"nodes": [{
"alias": "electronics",
"name": "Electronics"
},
{
"alias": "electronics-tradein",
"name": "Electronics Trade-In"
}]
}