我正在使用改进,并尝试将动态Json转换为Gson,但是如果我有参数1,2,则Json的字段会根据parameters.For示例而变化
JSON格式:
{
"data":{
"1":{
"urls":{
"website":[
"https://bitcoin.org/"
],
"source_code":[
"https://github.com/bitcoin/"
]
},
"logo":"https://s2.coinmarketcap.com/static/img/coins/64x64/1.png"
...
},
"2":{
"urls":{
"website":[
"https://litecoin.org/"
],
"source_code":[
"https://github.com/litecoin-project/litecoin"
]
},
"logo":"https://s2.coinmarketcap.com/static/img/coins/64x64/2.png"
...
}
}
}请注意,可以有任意数量的参数。
发布于 2019-07-12 07:33:25
如果可能,您可以将“data”类型设置为一个数组,而不是将其设置为一个对象:
{
"data": [
{
...
},
{
...
}
]
}现在,当你处理你的'data‘元素时,你可以很容易地检查它的长度,看看有多少。假设您已经解析了Json并可以访问“data”,那么用于处理这些数据的Java代码将如下所示:
JsonArray array = dataElement.getAsJsonArray();
for(JsonElement element : array){
JsonObject object = element.getAsJsonObject();
String logo = object.getAsJsonPrimitive("logo").getAsString();
...
}如果这是不可能的,那么你必须这样做:
JsonObject dataObject = ...
int i = 1;
while(true){
JsonElement element = dataObject.get("" + i);
if(!element.isJsonObject()){
break;
}
JsonObject object = element.getAsJsonObject();
// do stuff with object
i++;
}https://stackoverflow.com/questions/56998039
复制相似问题