Android-解析本地JSON数据(资产文件夹)

时间:2015-04-29 11:16:32

标签: java android json parsing

我正在使用Android制作测试应用。我有一个json文件,我想把它读成活动类。这是json文件。写了代码,但代码没有识别"问题"变量我描述了上升。



$@




这是我的QuizActivityAdjectives.java文件的onCreate部分。



DestinationFiles




我怎样摆脱那件事?这样的代码是否有意义?它会起作用吗?

错误:"问题无法解析为变量" (我在底部写的评论专栏)

编辑:已解决我无法预料但是在纠正了json文件之后(应该是一个逗号,我没有注意到,我是必须更改已经描述为int的id值,并在json文件中使用char(如a200)给出。之后问题就消失了,json被取出了。

1 个答案:

答案 0 :(得分:3)

您创建一个新的JSONObject,而不是解析您的文件:

JSONObject jsonObjMain = new JSONObject();

应该是:

JSONObject jsonObjMain = new JSONObject(sb.toString());

修改

现在我明白了你的问题。

您已超出范围且变量question不再存在。 此外 多个问题,您希望如何将其设置为TextView

您可以将问题保存到数组中,并使用以下任何一个:

List<String> questions = new ArrayList<>();

try {
    ...
    for (int i = 0; i < jsonArray.length(); i++) {
        ...
        questions.add(jsonObj.getString("question"));
        ...
    }

} catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

String myjsonstring = sb.toString();

// Check if questions have been fetched
if (questions.size() > 0) {
    txt_questionAdjective = (TextView) findViewById(R.id.txt_questionAdjective);
    // Use the first question
    txt_questionAdjective.setText(questions.get(0));
}