如何将JSON数组整数变量转换为字符串

时间:2019-03-28 11:31:57

标签: java arrays json

我在将整数值从JSON解析为String时遇到问题,因此我可以将其添加到数组列表中。

我曾尝试使用Integer.valueOf,但对于此特定问题的格式以及Integer.valueOf是否会实际工作,我还是有些困惑。

这是到目前为止我可以使用的代码

try {
    JSONArray jsonArray = new JSONArray(response);
    vehicleMakes = new String[jsonArray.length()];

    for (int i = 0; i < jsonArray.length(); i++) {
        String make = jsonArray.getJSONObject(i).get("make").toString();
        String model = jsonArray.getJSONObject(i).get("model").toString();
        String reg = jsonArray.getJSONObject(i).get("license_number").toString();
        // int year = jsonArray.getJSONObject(i).get("year").toString();

        Vehicle V = new Vehicle(make, model, reg);
        vehicleArrayList.add(V);
    }
}
catch (JSONException e) {
    e.printStackTrace();
}

我正在尝试为此添加整数变量,例如

int year = jsonArray.getJSONObject(i).get("year").toString();

如何添加呢?

6 个答案:

答案 0 :(得分:1)

int year = jsonArray.getJSONObject(i).getInt("year");
String strYear = String.valueOf(year);

使用它。

答案 1 :(得分:1)

我不确定您使用的是什么库,但是如果是org.json,则可以尝试如下操作:

int year = jsonArray.getJSONObject(i).getInt("year");

答案 2 :(得分:0)

仔细看看这一行:

int year = jsonArray.getJSONObject(i).get("year").toString();

您试图添加一个整数和一个字符串,因为java是一种类型化的语言,它将无法正常工作,并且您可能会收到编译器标记的编译时错误,为解决此问题,您有几个选择,我的建议是: / p>

int result = Integer.parseInt(yourString) // good option, will account for ascii codes ang give you the correct value

// now convert to a string like so:

String.valueOf(result);

// so your code would be:

int year = Integer.parseInt(jsonArray.getJSONObject(i).get("year").toString());

答案 3 :(得分:0)

您可以使用以下方式将String转换为int

Double

答案 4 :(得分:0)

public static String[] toStringArray(JSONArray array) {
if(array==null)
    return null;

String[] arr=new String[array.length()];
for(int i=0; i<arr.length; i++) {
    arr[i]=array.optString(i);
}
return arr;
}

答案 5 :(得分:0)

如果编译器无法识别这种方式,请添加org.json库。

示例:

String year = String.valueOf(jsonObject.getInt("year"));

或您的情况:

String year = String.valueOf(jsonArray.getJSONObject(i).getInt("year"));