JSON 使用实例_2_Android 读取json文件

JSON 使用实例_2_Android 读取json文件,第1张

概述在Android项目中,可以把预先JSON数据保存在 resaw的目录下,然后再通过Resources.openRawResource读取。Resources对象可以通过Context对象去获取。publicclassResources{publicInputStreamopenRawResource(@RawResintid)throwsNotFoundException{pu

在AndroID 项目中,可以把预先 JsON 数据保存在  res/raw 的目录下, 然后再通过Resources.openRawResource 读取。

Resources 对象可以通过Context 对象去获取。

public class Resources {    public inputStream openRawResource(@RawRes int ID) throws NotFoundException {
public abstract class Context {    public abstract Resources getResources();
1. 保存Json数据 (res/raw/ 目录下)

例如把 contents.Json 保存在 res/raw 目录下

其中contents.Json 的内容:

{   "pageInfo": {         "pagename": "abc",         "pagePic": "http://example.com/content.jpg"    },    "posts": [         {              "post_ID": "123456789012_123456789012",              "actor_ID": "1234567890",              "picOfPersonWhoPosted": "http://example.com/photo.jpg",              "nameOfPersonWhoPosted": "Jane Doe",              "message": "Sounds cool. Can't wait to see it!",              "likesCount": "2",              "comments": [],              "timeOfPost": "1234567890"         }    ]}
2.  导入Gson 依赖

3. 读取Json 文件,得到 JsonObject 对象
    private JsonObject load(int ID){        String Json = "";        try {            inputStream inputStream = mContext.getResources().openRawResource(ID);            Writer writer = new StringWriter();            char[] buffer = new char[inputStream.available()];            Reader reader = new BufferedReader(new inputStreamReader(inputStream, StandardCharsets.UTF_8));            int n;            while((n = reader.read(buffer)) != -1){                log.info("load n="+n);                writer.write(buffer, 0, n);            }            Json = writer.toString();        } catch (Exception e){            log.error("load Json error: "+e.getMessage());        }        return new Gson().fromJson(Json, JsonObject.class);    }}

主要是得到inputStream后,通过BufferReader 读取, 最后写入到StringWriter 对象中。

4. 调用
JsonObject JsonObject = load(R.raw.contents);

其中, JsonObject 是Gson 依赖库的类, 也有JsonArray 表示数组, 注意区分org.Json 库中的JsONObject 和JsONArray 类

总结

以上是内存溢出为你收集整理的JSON 使用实例_2_Android 读取json文件全部内容,希望文章能够帮你解决JSON 使用实例_2_Android 读取json文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1039852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存