我正在构建一个使用HTTP请求来使用Web API的Android应用程序。我很容易提出请求,一切正常,但我找不到将JSONArray转换成单个Float x,Float y值的方法。 欢迎任何帮助。
API的外观:
我的代码:
@Override
public void onResponse(Call call, Response response) throws IOException {
try {
JSONObject jsonObj = new JSONObject(response.body().string());
// Getting JSON Array node
JSONArray price = jsonObj.getJSONArray("price");
for(int I = 0; I < price.length(); I++) {
Float x ;
Float y ;
values.add(new Entry(x,y)); // add one entry per hour
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
答案 0 :(得分:1)
您只需使用以下方式:
JsonArray jArr = price.getJSONArray(I);
values.add(new Entry((float)jArr.getDouble(0), (float)jArr.getDouble(1)));
此外,您需要检索的price
应该是jsonObject而不是另一个数组。
答案 1 :(得分:1)
您是否尝试过:
private void getPricesArray(){
ArrayList<Double[]> pricesDoubleArray = new ArrayList<>();
for (int index = 0; index < pricesDoubleArray.size(); index++) {
pricesDoubleArray.get(index)[0] = Double.valueOf(16748584949L); //
pricesDoubleArray.get(index)[1] = 4506.45; //
}
}