如何将JSONArray转换为字符串/浮点值

时间:2017-09-14 22:18:58

标签: java android json okhttp

我正在构建一个使用HTTP请求来使用Web API的Android应用程序。我很容易提出请求,一切正常,但我找不到将JSONArray转换成单个Float x,Float y值的方法。 欢迎任何帮助。

API的外观:

enter image description here

我的代码:

@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();
            }
        }
});

2 个答案:

答案 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; //
    }
}