将JsonObject数组转换为整数

时间:2016-02-27 15:01:57

标签: 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");
        } 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();


            }
        }

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

1 个答案:

答案 0 :(得分:4)

您使用了错误的节点名称。

替换

jsonArray = jsonObject.getJSONArray("SUBJECTID");

jsonArray = jsonObject.getJSONArray("SubjectID");