【发布时间】:2020-03-05 08:55:49
【问题描述】:
我的 JSON 是:
{
"type": "Point",
"coordinates": [
[
16.990586757110702,
52.336268037215298
]
]
},
我的代码:
private double[] readGeometry(JsonReader reader) throws IOException{
double coordinates[] = new double[2];
reader.beginObject();
while (reader.hasNext()){
String name = reader.nextName() ;
if (name == "coordinates"){
reader.beginArray();
reader.beginArray();
coordinates[0] = reader.nextDouble();
coordinates[1] = reader.nextDouble();
reader.endArray();
reader.endArray();
}
}
reader.endObject();
return coordinates;
}
type 正确读取。在coordinates 我得到expected Name but was String error。
当我手动迭代它时,reader.nextString() 方法不起作用。怎么回事?
更新 解决: 我需要处理 JSON 的每一部分,这是正确的工作代码:
double coordinates[] = new double[2];
reader.beginObject();
while (reader.hasNext()){
String name = reader.nextName();
if (name.equals("coordinates")){
reader.beginArray();
reader.beginArray();
coordinates[0] = reader.nextDouble();
coordinates[1] = reader.nextDouble();
reader.endArray();
reader.endArray();
}
else if (name.equals("type")){
reader.nextString();
}
}
reader.endObject();
return coordinates;
【问题讨论】:
标签: android json android-studio