如何从json数组中读取值并将这2个值存储在2个不同的变量中?
[
[
6.89545,
79.85217
],
[
6.897287,
79.859544
],
[
6.905271,
79.862609
],
[
6.906114,
79.858998
]
]
但是,很明显,数组没有键。那么,如何处理呢?有没有可能解决的办法? 这是我用来从数组中获取值的方法。
@Override
public void onResponse(String response) {
md.dismiss();
if (response != null) {
try {
List<LatLng> latLngs = new ArrayList<>();
JSONArray latLonArray = new JSONArray( response );
for (int i = 0; i < latLonArray.length(); i++) {
// this is the part where I am stuck
}
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(mContext, "Server connection error", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(mContext, "Server connection error", Toast.LENGTH_SHORT).show();
}
}
答案 0 :(得分:0)
for(int i = 0; i
您可以使用数字索引来访问JSONArray中的值。例如:
for (int i = 0; i < latLonArray.length(); i++) {
double latitude = latLonArray.getJSONArray(i).getDouble(0);
double longitude = latLonArray.getJSONArray(i).getDouble(1);
}
JSONArray中的每个元素也是JSONArray,并且在JSONArray中我们有两个双精度值(当然,这取决于您的JSON字符串的结构),因此您必须访问内部JSONArray,然后检索其值。上面的代码可能会有所帮助,加以研究并获得启发。祝你好运。