Android如何从我的SD卡读取JSON文本文件并显示到我的textview中

时间:2014-02-23 08:02:31

标签: android json android-json

我卡住了,我在Sd卡上有一个json文本文件,我需要从SD卡读取一个json文件,并将数据显示在我的textview中。

这是我的json文本文件名是textarabics.json:

{
"data": [
    {
        "id": "1",
        "title": "Farhan Shah",
        "duration": 10,
    },
    {
        "id": "2",
        "title": "Noman Shah",
        "duration": 10,
    },
    {
        "id": "3",
        "title": "Ahmad Shah",
        "duration": 8,
    },
    {
        "id": "4",
        "title": "Mohsin Shah",
        "duration": 10,
    },
    {
        "id": "5",
        "title": "Haris Shah",
        "duration": 5,
    }
 ]

}

我想在我的textview中显示“title”,而“duration”是secondes的数量,例如当第一个“title”显示在我的textview中时,它将在屏幕上显示10秒,之后第二个文本显示x秒等等。在我的xml文件中,我只有一个textview.any idear和帮助将非常感谢..谢谢您的宝贵回复提前。

1 个答案:

答案 0 :(得分:1)

你可以这样做:
1- Read file
2-获取文本并解析它:

JSONObject json = new JSONObject(text);
JSONArray ar = new JSONArray(json.getString("data"));
for (int i = 0; i < ar.length(); i++) {
     try {
          JSONObject jpost = ar.getJSONObject(i);
          // Pulling items from the array
          int id = jpost.getInteger("id");
          String title = jpost.getString("title");
          int duration = jpost.getInteger("duration");
          // DO whatever
          //Ex.
          //textView.setText(title);
          //if you use "Thread", you can put Thread.sleep(duration*1000);
     } catch (JSONException e) {
          // Oops
          e.printStackTrace();
     }
}

希望这会有所帮助
注意:您的json文件中可能会出现错误cause there is comma after duration