java - 解析Json并构造数组

标签 java arrays json

我正在解析 JSON,如下所示

[
    {
        "vendor_itms_arr": [
            "265",
            "141",
            "148"
        ]
    }
]

这是我的程序

import java.util.ArrayList;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;


public class MrTest {

    public static void main(String args[]) throws JSONException
    {
        String json = "[\r\n" + 
                "    {\r\n" + 
                "        \"vendor_itms_arr\": [\r\n" + 
                "            \"265\",\r\n" + 
                "            \"141\",\r\n" + 
                "            \"148\"\r\n" + 
                "        ]\r\n" + 
                "    }\r\n" + 
                "]";

        JSONArray array = new JSONArray(json);
        ArrayList<Integer> vendor_itms_arr = new ArrayList<Integer>();
        for(int i=0;i<array.length();i++)
        {
             JSONObject jb1 = array.getJSONObject(i);
             JSONArray jr1 = jb1.getJSONArray("vendor_itms_arr");
            if (jr1 != null) { 
                   int len = jr1.length();
                   for (int k=0;i<len;i++){ 
                       int val = (Integer) jr1.get(k);
                       vendor_itms_arr.add(val);
                   } 
                } 
        }
        System.out.println(vendor_itms_arr);
    }
}

我正在获取

Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
    at MrTest.main(MrTest.java:36)

你能告诉我如何构造一个数组吗

 int constructed_array[] = { 265 , 141 , 148};

最佳答案

使用Integer.parseInt(String s) :

int val = Integer.parseInt(jr1.get(k));

关于java - 解析Json并构造数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27152495/

相关文章:

java - 如何在 spring mvc 中访问 sitemap.xml 文件

java - 如何在java中用 "\"替换 "\\"

python - Numpy 就地设置绝对值

Angularjs:我想将来自响应对象的结果打印到 $http get response 中的各个元素中。请看下面的代码

javascript - 如何从 TypeScript 中的嵌套 JSON 获取数据?

java jdom xml 复制一段xml

python - 如何一次将一个超大文件读入 numpy 数组 N 行

Java数组记录

python - Pyspark 从 JSON 文件获取架构

java - 多线程java应用程序中的数据缓冲