Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将JSONArray转换为字符串/浮点值_Java_Android_Json_Okhttp - Fatal编程技术网

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

Java 如何将JSONArray转换为字符串/浮点值,java,android,json,okhttp,Java,Android,Json,Okhttp,我正在构建一个android应用程序,它使用HTTP请求来使用web API。我已经很容易地提出了请求,一切都很好,但是我找不到一种方法将我得到的JSONArray转换为单浮点x,浮点y值。 欢迎任何帮助 API的外观: 我的代码: @Override public void onResponse(Call call, Response response) throws IOException { try { JSONObject jso

我正在构建一个android应用程序,它使用HTTP请求来使用web API。我已经很容易地提出了请求,一切都很好,但是我找不到一种方法将我得到的JSONArray转换为单浮点x,浮点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();
            }
        }
});
@覆盖
public void onResponse(调用调用、响应响应)引发IOException{
试一试{
JSONObject jsonObj=新的JSONObject(response.body().string());
//获取JSON数组节点
JSONArray price=jsonObj.getJSONArray(“价格”);
对于(int I=0;I
您可以简单地使用以下方法:

JsonArray jArr = price.getJSONArray(I);
values.add(new Entry((float)jArr.getDouble(0), (float)jArr.getDouble(1)));

另外,您需要检索的
价格
应该在jsonObject中,而不是在另一个数组中。

只需使用以下方法即可:

JsonArray jArr = price.getJSONArray(I);
values.add(new Entry((float)jArr.getDouble(0), (float)jArr.getDouble(1)));
另外,您需要检索的
price
应该在jsonObject中,而不是在另一个数组中。

您是否尝试过类似的方法:

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; //
    }
}
private void getPricesArray(){
ArrayList pricesDoubleArray=新ArrayList();
对于(int index=0;index
您是否尝试过类似的:

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; //
    }
}
private void getPricesArray(){
ArrayList pricesDoubleArray=新ArrayList();
对于(int index=0;index
感谢您的回复!新条目只接受浮点值,但没有getFloat选项,我如何实现这一点?@VaclovasRekašiusJr。你们可以改变输入类型,任何方式检查更新,你们可以得到浮点值。谢谢你们的回复,真的帮了我很多。但是,通过更改此行的值来更新您的答案。添加(新条目((float)jArr.getDouble(0),(float)jArr.getDouble(1));移除拳击,只需将其铸造成漂浮物就可以了。再次感谢。@VaclovasRekašiusJr。很高兴为您提供帮助。谢谢您的回复!新条目只接受浮点值,但没有getFloat选项,我如何实现这一点?@VaclovasRekašiusJr。你们可以改变输入类型,任何方式检查更新,你们可以得到浮点值。谢谢你们的回复,真的帮了我很多。但是,通过更改此行的值来更新您的答案。添加(新条目((float)jArr.getDouble(0),(float)jArr.getDouble(1));移除拳击,只需将其铸造成漂浮物就可以了。再次感谢。@VaclovasRekašiusJr。很乐意帮忙。