如何将字符串json数组转换为int数组android studio

时间:2018-12-11 05:03:41

标签: android arrays json

我有这样的程序

String[] hello; Integer[] yAxisData2;

我想将字符串json数组转换为int数组。 ,如何将字符串hello [i]转换为int数组?

private void generateY(){
    mApiInterface.getGulaDarah(idUser).enqueue(new Callback<ResponseBody>() {
        @Override
        public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
            if(response.isSuccessful()){
                try{
                    JSONArray jsonRes = new JSONArray(response.body().string());
                    hello = new String[jsonRes.length()];

                    for(int i=0; i<jsonRes.length(); i++){
                        JSONObject jsonObject =  jsonRes.getJSONObject(i);
                        hello[i] =jsonObject.getString("guladarah_acak");
                        yAxisData2[]=Integer.parseInt(hello[i]);
                    }
                }catch (JSONException e){
                    e.printStackTrace();
                }catch (IOException e){
                    e.printStackTrace();
                }
            }
        }

        @Override
        public void onFailure(Call<ResponseBody> call, Throwable t) {

        }
    });
}

1 个答案:

答案 0 :(得分:0)

您想要的不是很清楚,所以我将提供一些解决方案,希望至少有一个可用。

如果您想要将字符串数组转换为整数数组,则可以使用;

private int[] convert(String[] stringArray) {
    int integerArray[] = new int[stringArray.length];

    for (int i = 0; i < stringArray.length; i++) {
        integerArray[i] = Integer.parseInt(stringArray[i]); // You'll need to handle errors here
    }

    return integerArray;
}

尽管我建议您使用列表代替。

或者,您可以使用Java 8中的Lambda表达式;

int[] arrayOfInts = Arrays.asList(arrayOfStrings).stream().mapToInt(Integer::parseInt).toArray();

否则,如果您想要将单个String转换为可以使用的Integer数组;

public int[] convert(String stringToConvert) {
    int[] intArray = new int[stringToConvert.length()];

    for (int i = 0; i < stringToConvert.length(); i++){
        intArray[i] = stringToConvert.charAt(i) - '0';
    }

    return intArray;
}