Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.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 将JsonObject数组转换为整数_Java_Android_Arrays_Json - Fatal编程技术网

Java 将JsonObject数组转换为整数

Java 将JsonObject数组转换为整数,java,android,arrays,json,Java,Android,Arrays,Json,我从服务器收到以下响应: {"SubjectName":["Irish","Maths","English","Science","Religion","Geography"], "SubjectID":[1,2,3,4,5,6]} 我需要做的是尝试将响应分成两个单独的数组SubjectName和SubjectID 以下是我所拥有的: try { jsonArray = jsonObject.getJSONArray("SubjectName"); }

我从服务器收到以下响应:

{"SubjectName":["Irish","Maths","English","Science","Religion","Geography"],
"SubjectID":[1,2,3,4,5,6]}
我需要做的是尝试将响应分成两个单独的数组SubjectName和SubjectID

以下是我所拥有的:

 try {
            jsonArray = jsonObject.getJSONArray("SubjectName");
        } catch (JSONException e) {
            e.printStackTrace();
        }
        SubjectName = new String[jsonArray.length()];
        for (int i = 0; i < jsonArray.length(); i++)
        {
            try {
                SubjectName[i] = jsonArray.getString(i);
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }

        try
        {
            jsonArray = jsonObject.getJSONArray("SUBJECTID");
            Log.v("Worked", "SubjectID is in ");

        } catch (JSONException e)
        {
            Log.v("failed","Not able to retrieve data");
            e.printStackTrace();
        }
        SubjectID = new int[jsonArray.length()];
        for (int i = 0; i < jsonArray.length(); i++)
        {

            try {
                SubjectID[i] = jsonArray.getInt(i);
            } catch (JSONException e)
            {
                e.printStackTrace();


            }
        }
试试看{
jsonArray=jsonObject.getJSONArray(“SubjectName”);
}捕获(JSONException e){
e、 printStackTrace();
}
SubjectName=新字符串[jsonArray.length()];
for(int i=0;i

字符串转换似乎没有问题,我可以得到SubjectName,但SubjectName部分似乎失败了,我不知道为什么。我已经检查过了,但似乎找不到任何地方可以告诉我如何从jsonaray解析int

您使用了错误的节点名称

替换

jsonArray = jsonObject.getJSONArray("SUBJECTID");


仅供参考:您不能
将数组转换为整数
。它只是一个没有数值的容器。不过,你可以尝试一下它的内容。我觉得自己像个白痴,感谢我一直在寻找hour@ecribs别担心。每个人都会这样。如果对你有用,请不要忘记接受。
jsonArray = jsonObject.getJSONArray("SubjectID");