扫码关注官方订阅号
开发时需要从本地的SD卡读取json文件导入数据库,文件有1.3M大小,使用Gson读取时报错内存溢出,这个怎么解决??
业精于勤,荒于嬉;行成于思,毁于随。
大文件考虑使用流操作,尽量不要直接加载整个字符串。Gson 有提供JsonReader进行文件流操作。
Gson提供了流,不要用String就行。
Gson gson = new Gson(); Reader reader = new FileReader("/path/to/file"); YourBean bean = gson.fromJson(reader,YourBean.class);
先贴出如何报错吧。
用其他开源库试试咯~ 不行就自己解析jsonObject/JsonArray
这次是我傻逼了。。。
Gson 是 通过 查找 key 去一一对应地把值赋值到 UserBean中的。。。。所以,必须保证API中返回的Json数据中的Key和UserBean一样即可。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
大文件考虑使用流操作,尽量不要直接加载整个字符串。Gson 有提供JsonReader进行文件流操作。
Gson提供了流,不要用String就行。
先贴出如何报错吧。
用其他开源库试试咯~ 不行就自己解析jsonObject/JsonArray
这次是我傻逼了。。。
Gson 是 通过 查找 key 去一一对应地把值赋值到 UserBean中的。。。。
所以,必须保证API中返回的Json数据中的Key和UserBean一样即可。