当前位置: 首页 > 面试题库 >

使用ANDROID中的json解析大小约为3MB的数据?

叶元凯
2023-03-14
问题内容

我必须通过JSon通过大小约为3MB的HTTP请求来解析数据,但是我正在使用的解析器无法做到这一点。这是JSon解析器:

public static JSONObject getJSONfromURL(String url){

    InputStream is = null;
    String result = "";
    JSONObject jArray = null;

    //http post
    try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(url);
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        is = entity.getContent();

    }catch(Exception e){
          //  Log.e("log_tag", "Error in http connection "+e.toString());
    }

    //convert response to string
    try{
        BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),102400);

        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
        }
        is.close();
        result=sb.toString();

    }catch(Exception e){
           // Log.e("log_tag", "Error converting result "+e.toString());
    }

    try{

        jArray = new JSONObject(result);            
    }catch(JSONException e){
           // Log.e("log_tag", "Error parsing data "+e.toString());
    }
    return jArray;
}

任何帮助将不胜感激。谢谢


问题答案:

您正在解析内存中的整个3MB字符串。它导致内存不足异常。解析流中的大数据:

  • 自API级别11以来的JsonReader
  • Android JSON库或大数据Jackson Streaming API


 类似资料:
  • 问题内容: 我在Android的JSON解析中进行了很多搜索,但并不太确定。关于JSON解析,实际上有一个简短的想法,但还不清楚。 如何在应用程序中实现JSON解析? 问题答案: 这是一个非常简单的JSON字符串 为了得到它的值,使用像这样: 这是一个稍微复杂的json字符串 为了从此用途中提取值 希望这个对你有帮助...........

  • 所以基本上我使用的是Google的Places API,我想要从JSON到我的回收器视图的特定数据。我试着用凌空抽射,但它给了我一个空白屏幕或不断崩溃。所以有人能帮助我如何获得数据并显示具体的数据吗…这是我尝试的代码 LoadPlacesActivity.java places.java }这是logcat的截图

  • 我正在使用来解析Json数据。我的Json数据如下: GsonParse.java 我使用以下方法来解析此JSON数据。 我面对以下错误。

  • 问题内容: 现在完成XML SAX解析之后,我将在应用程序中进行JSON解析。我在这里为您提供杰森 现在,我提到了一个Json解析的示例,在该示例中,他们创建了一个jString对象,我对此特定行有疑问,如下所示: 任何人都可以让我澄清一下。完整示例的链接如下: http://www.androidcompetencycenter.com/2009/10/json-parsing-in- andr

  • 问题内容: 我正在尝试解析这种结构:(它使我发疯,并且我尝试了我能想到的一切。但是我不是很有经验) “ topDrop”就像文件名吗?player是一个JSONArray,包含5个播放器JSONObject。但是在JSON术语中,最重要的是什么。我在JSON验证程序上签出有效的凭证,我需要这样的凭证: topDrop作为JSONObject Player,作为JSONArray,并循环遍历数组中的

  • 问题内容: 我正在创建一个Android应用程序,该应用程序应将Json从文件或URL解析为jsonarray和jsonobjects。问题是我的json是3.3 mb,当我使用一个简单的代码时,是这样的:(现在无法访问我的真实代码,因为我正在工作,从教程中复制了一些代码;因此其中可能有一些错误) (假设我已经有我的输入流内容) 当我在Android设备上运行此代码时,将字符串解析为jsonArr