有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用GSON解析JSONArray

Possible Duplicate:
Parsing a large json in 安卓 of 11 MB

我在用GSON和Jackson在安卓中解析大约11MB的大型JSON时遇到了一个问题。问题是出现内存不足错误异常,而且堆大小不足以完成此过程。这是我的纸模型课

public class Paper {
    public int primaryKey;
    public String title;
    public int entry;
    public Boolean favourite;
    public String comment;
    public int opt;
    public int score;
}

这是我的反应模型课

public class Response {
    public List<Paper> papers;
} 

这是我的JSON字符串

{"Paper":[[{"abstract":"Not Available","title":"A Fully Intraocular 0.0169mm<sup>2<\/sup>/pixel 512-Channel Self-Calibrating Epiretinal Prosthesis in 65nm CMOS","primaryKey":3,"entry":9,"score":-1,"comment":null,"favourite":false,"opt":1},{"abstract":"Not Available","title":"A Scalable 2.9mW 1Mb/s eTextiles Body Area Network Transceiver with Remotely Powered Sensors and Bi-Directional Data Communication","primaryKey":14,"entry":9,"score":-1,"comment":null,"favourite":false,"opt":1},{"abstract":"Not Available","title":"A 0.18µm CMOS SoC for a 100m-Range 10fps 200×96-Pixel Time-of-Flight Depth Sensor","primaryKey":20,"entry":9,"score":-1,"comment":null,"favourite":false,"opt":1},{"abstract":"Not Available","title":"A 12b 1.6GS/s 40mW DAC in 40nm CMOS with >70dB SFDR over Entire Nyquist Bandwidth","primaryKey":26,"entry":9,"score":-1,"comment":null,"favourite":false,"opt":1},{"abstract":"Not Available","title":"All-Digital Hybrid Temperature Sensor Network for Dense Thermal Monitoring","primaryKey":49,"entry":9,"score":-1,"comment":null,"favourite":false,"opt":1},{"abstract":"Not Available","title":"32Gb/s Data-Interpolator Receiver with 2-Tap DFE in 28nm CMOS","primaryKey":51,"entry":9,"score":-1,"comment":null,"favourite":false,"opt":1},{"abstract":"Not Available","title":"A 93% Efficiency Reconfigurable Switched-Capacitor DC-DC Converter Using On-Chip Ferroelectric Capacitors","primaryKey":60,"entry":9,"score":-1,"comment":null,"favourite":false,"opt":1},{"abstract":"Not Available","title":"A 45nm CMOS Near-Field Communication Radio with 0.15A/m RX Sensitivity and 4mA Current Consumption in Card Emulation Mode","primaryKey":61,"entry":9,"score":-1,"comment":null,"favourite":false,"opt":1}]]}

我不知道我哪里做错了。我因为一大堆文件而被判无效


共 (1) 个答案

  1. # 1 楼答案

    I am facing a problem in parsing a large JSON of about 11MB in android with GSON and Jackson.

    下载和解析它将非常困难。11MB太高了

    您可以使用的备选方案是:

    you can Modify your Webservice to have a partition with Counter like counter=1,2,3.... meanse Make a WS in a way that First 1000 Records Come for counter=1 after Parsing it another Data will come for counter=2 and Parse it and So on..

    这将帮助你以某种方式解决你的问题