我有一个包含网址的大型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());

10-07 19:33
查看更多