Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.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 如何将JSON数组整型变量转换为字符串_Java_Arrays_Json - Fatal编程技术网

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

Java 如何将JSON数组整型变量转换为字符串,java,arrays,json,Java,Arrays,Json,我无法将整数值从JSON解析为字符串,以便将其添加到数组列表中 我已经尝试过使用Integer.valueOf了,但是对于这个特殊问题的格式以及Integer.valueOf是否真正起作用,我有点困惑 这是迄今为止我所掌握的有效代码 try { JSONArray jsonArray = new JSONArray(response); vehicleMakes = new String[jsonArray.length()]; for (int i = 0; i &l

我无法将整数值从JSON解析为字符串,以便将其添加到数组列表中

我已经尝试过使用
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).getInt("year");
String strYear = String.valueOf(year);

使用这个。

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

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

仔细看看这一行:

int year = jsonArray.getJSONObject(i).get("year").toString();
您试图添加一个整数和一个字符串,因为java是一种类型化语言,这是行不通的,您可能会得到编译器标记的编译时错误,要解决这个问题,您有几个选项,我的建议是:

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

您可以使用以下命令将字符串转换为int

Integer.parseInt(string);
Integer.parseInt(jsonArray.getJSONObject(i).get("year").toString());
publicstaticstring[]toStringArray(JSONArray数组){
if(数组==null)
返回null;
String[]arr=新字符串[array.length()];

对于(inti=0;i,如果编译器无法识别这种方式,请添加org.json库

例如:

String year = String.valueOf(jsonObject.getInt("year"));
或者在您的情况下:

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