我有一个包含网址的大型json页面:http://akhilmadanan.tk/Akhil/database.php。
当我使用普通的json解析方法解析此页面时,它显示“ OutOfMemoryError”。为此,我听说了GSON。请任何人帮助我获取如何使用GSON从下一页读取数据的信息。
任何教程?
最佳答案
您绝对可以转到其他人提供的链接,对您有所帮助
简单来说,您可以在您的lib文件夹中添加GSON库。
并像这样使用
Gson gson=new Gson();
从json获取对象
Model model=gson.fromJson(json,Model.class);
转换为json
String json=gson.toJson(model);
我运行您的代码,有3010个对象
[
{
"cust_no":"70105615002",
"cust_name":"akhil",
"address":"kajffjkhfhhkjsd",
"area":"58695",
"ranges":"4586",
"plot":"69896",
"multifactor":"85758",
"electricity_meterno":"7895",
"water_meterno":"69358",
"gas_metrno":"78956",
"traffic_code":"4587855",
"last_meter":"58695",
"previous_reading":"25638",
"date":"589687",
"current_usage":"789654",
"current_balance":"45876",
"last_recipt":"236584"
},....
现在制作一个与上述名称相同的模型
@SerializedName("cust_no")
private Long custNo;
@SerializedName("cust_name")
private Long custName;
..........
记得添加一个相同类别的列表,例如
@SerializedName("custname")
private List<Customer> customerList;
并生成该客户类的获取器和设置器;
在这之后
这样解析您的数据
CustomerModel customerModel = gson.fromJson(json,Customer.class);
您将所有数据存储在customerModel中;
要访问数据,只需使用该类的列表即可。
List<Customer> customerList=customerModel.getCustomerList();
Log.v("APP_NAME",""+customerList.size());