android 读取本地的json文件

论坛 期权论坛 脚本     
匿名技术用户   2021-1-12 13:53   572   0

代码很简单,大家看看就知道。

首先先上json文件,命名为newdata.json:此文件放在assets文件夹下:

[
 {
  "name": "zhangsan",
  "age": 156,
  "love":[
   "app","lll"
  ]
 },
 {
  "name": "lisi",
  "age": 16,
  "love":[
  "gaoshu"
  ]
 },
 {
  "name": "wangwu",
  "age": 36
 }
]

重头来咯。怎么读取呢?

try {
   InputStream is = null;
   try {
    is =  getAssets().open("newdata.json");
    JsonReader reader = new JsonReader(new InputStreamReader(is));
    reader.beginArray();
    while (reader.hasNext()) {
     reader.beginObject();
     String doing = "";
     while (reader.hasNext()) {
      String name = reader.nextName();
      if (name.equals("name")) {
       doing += reader.nextString();
      }
      else if (name.equals("age") || reader.peek() != JsonToken.NULL) { // 当前获取的字段是否为:null
       doing += reader.nextString();
      }
      else if (name.equals("love")) {
       reader.beginArray();
       while(reader.hasNext()) {
        doing+=reader.nextString();
       }
       reader.endArray();
      }
      
     } 
     Log.i(TAG, "doing: "+doing.toString());
     reader.endObject();
    }
    reader.endArray(); 
   }
   finally {
    // is.close();
   }
  }
  catch (IOException e) {
   throw new RuntimeException(e);
  }


注意一点的是: JsonReader是Android 3.0引入的新解析类,必须在API Level为honeycomb中的SDK以及固件在3.0上才能使用

大家可以去官网看看:http://developer.android.com/reference/android/util/JsonReader.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP