如何在 android 中解析来自 url 或 restful 服务的大量 JSON 数据?没有 GSON

     2023-03-31     17

关键词:

【中文标题】如何在 android 中解析来自 url 或 restful 服务的大量 JSON 数据?没有 GSON【英文标题】:how to parse huge JSON data froma url or restful service in android?without GSON 【发布时间】:2013-12-11 10:08:13 【问题描述】:

我有一个 Rest ful 服务,.. 我得到一个 JSON 数据,比如,..


"returnCode": "success",
"RecievedData": 
"results": [
  
    "details": [
      
        "moredetails": [
          "id": "123456",
          "price": "129.99",
          "recorded_at": 3223322,
          "lastrecorded_at": 0002020,
          "seller": "google",
          "availability": "Available",
          "currency": "USD"
        ],
        "offers_count": 1,
        "name": "google.com",
        "recentoffers_count": 1,
        "sid": "988008555566649",
        "url": "http://google.com"
      ,
      "moredetails"
                .
                .

               
      ] details
          
          
          [
           ]
          
    "model": "abc",
    "weight": "127",
    "price_currency": "USD",
    "features": 
      .
      '
      
     "model": "abc",
    "weight": "127",
    "price_currency": "USD",
    .
    .
    .

我正在为此使用this 示例或教程

它的调用 json 来自 this url

他正在用这个 json 对象 jsonarray = jsonobject.getJSONArray("worldpopulation"); 解析数据

所以我从上面的 url 获取数据如何解析这么多 json 数据,因为我只想要 json 数组的 2 或 3 个字段。

请帮忙,.. 举个有效的例子,..for above,..

【问题讨论】:

你解析json的代码在哪里? 只是好奇...为什么没有 GSON? 嗨,Raghunandan 先生.. 我给了一些网址,请通过它,.. 我现在不知道如何在这个例子中解析上面的 json developer-android-tutorial.blogspot.in/2013/07/… 你好,先生在这个例子中developer-android-tutorial.blogspot.in/2013/07/… 他没有使用任何类型的库,比如 GSON,.. 只是解析数据,......我已经准备好了基于上述示例的代码,所以我没有想要任何更改,我只想解析表单 url,.. 谢谢 Perroloco 先生,.. 这可能会有所帮助***.com/a/20513759/2389078 【参考方案1】:

您可以使用 gson 库。有一个例子 here!

【讨论】:

【参考方案2】:

因为它是嵌套的 json 并且你没有指定你需要哪些字段所以很难回答 将此类用作您需要显示数据的参考类使用方法, 它将返回数组的第一个对象。

公共类解析器

    public String getData() 
        String content = null;

        String result = "";
        InputStream is = null;

        // http get
        try 
            HttpClient httpclient = new DefaultHttpClient();

            String webUrl = "your url";

            HttpGet httppost = new HttpGet(webUrl);
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();

            is = entity.getContent();

         catch (Exception e) 
            Log.d("LOGTAG", "Error in http connection " + e.toString());
        

        // convert response to string
        try 
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    is, "iso-8859-1"), 8);
            StringBuilder sb = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) 
                sb.append(line + "\n");
            
            is.close();
            result = sb.toString();
            Log.d("LOGTAG", "Result :" + result);
         catch (Exception e) 
            Log.d("LOGTAG", "Error converting result " + e.toString());
        

        // parse json data

        try 

            JSONArray jarray = new JSONArray(result);
            JSONObject jobj = jarray.getJSONObject(jarray.getInt(0));
            content = jobj.getString("key");//key=name of the field you require
         catch (Exception e) 

            Log.d("LOGTAG", e.toString());

        
        return content;
    

【讨论】:

【参考方案3】:

我看到了您的评论...您不想更改代码。但是与使用 Gson 相比,自己解析 json 非常慢。而且 gson 的使用非常简单,您只需要创建简单的 pojo 类,它将整个 json 转换为您可以在任何地方使用的 java 对象。这也是一种巧妙的做法。here is an example

【讨论】:

如何在android中调用localhost的webservice(来自wamp或xampp服务器)?

】如何在android中调用localhost的webservice(来自wamp或xampp服务器)?【英文标题】:Howtocallwebserviceoflocalhost(fromwamporxamppserver)inandroid?【发布时间】:2012-07-2008:45:59【问题描述】:我正在收到实时URL的web服务响应,但如果我使用本地P... 查看详情

无法在android的videoview中播放来自url的视频如何在videoview中播放来自URL的视频?

】无法在android的videoview中播放来自url的视频如何在videoview中播放来自URL的视频?【英文标题】:UnabletoplayvideofromurlinvideoviewinandroidHowtoplayvideofromURLinvideoview?【发布时间】:2020-07-1410:55:22【问题描述】:我正在尝试使用VideoView在and... 查看详情

如何在 android 中播放来自 URL 的流媒体视频?

】如何在android中播放来自URL的流媒体视频?【英文标题】:HowtoplayastreamingvideofromURLinandroid?【发布时间】:2014-02-0706:10:53【问题描述】:我想在android中播放来自网站的流媒体视频。例如,我想从这个url播放流媒体视频:http://flor... 查看详情

如何在 android 中使用改造来解析这个 web 服务?

】如何在android中使用改造来解析这个web服务?【英文标题】:howtoparsethiswebserviceusingretrofitinandroid?【发布时间】:2018-01-2814:47:28【问题描述】:http://www.superbinstruments.com/directory/index.php?r=webservice/profile/id/4096这里我想在URL中传递ID... 查看详情

如何通过 asyncTask 方法解析来自 2 个不同 URL 的数据

】如何通过asyncTask方法解析来自2个不同URL的数据【英文标题】:Howtoparsedatafrom2differentURLsbyasyncTaskmethod【发布时间】:2013-12-1221:54:36【问题描述】:我有一个从JSONURL获取数据的应用。它与一个URL完美配合,但我需要同时从两个JSO... 查看详情

在 Android(java) 中,如何使用 URL 而不是来自互联网的图像地址在 ImageView 中加载图像?

】在Android(java)中,如何使用URL而不是来自互联网的图像地址在ImageView中加载图像?【英文标题】:InAndroid(java),HowtoloadImageinImageViewbyusingURLinsteadofimageaddressesfromtheinternet?【发布时间】:2022-01-0105:46:37【问题描述】:我有一个来自... 查看详情

如何在 Android 中解析 JSON 数组(不是 Json 对象)

】如何在Android中解析JSON数组(不是Json对象)【英文标题】:HowtoparseJSONArray(NotJsonObject)inAndroid【发布时间】:2013-09-2909:44:02【问题描述】:我很难找到解析JSONArray的方法。它看起来像这样:["name":"name1","url":"url1","name":"name2","url":... 查看详情

如何解析来自 URL 的 JSONS 数组的对象?

】如何解析来自URL的JSONS数组的对象?【英文标题】:HowcanIParseanObjectwhichisanarrayofJSONScomingfromanURL?【发布时间】:2021-11-2803:43:52【问题描述】:我正在调用一个URL并得到如下所示的响应。我无法解析它。谁能告诉我如何解析数组... 查看详情

如何使用 GCM 在 Android 中解析或实际获取推送消息

】如何使用GCM在Android中解析或实际获取推送消息【英文标题】:HowtoparseoractuallygetpushmessageinAndroidusingGCM【发布时间】:2014-06-2823:49:57【问题描述】:我正在使用Google(http://developer.android.com/google/gcm/client.html)提供的示例实现GCM客户... 查看详情

在 R 中解析 HTML 文件

】在R中解析HTML文件【英文标题】:ParsingHTMLfileinR【发布时间】:2013-11-1321:57:51【问题描述】:我想从网站读取HTML文件。具体来说,我想阅读来自gutenberg.org的HTML格式的书籍。每章的标题用标签“h2”标记,每章的内容在“h2”之... 查看详情

我们如何在 smack 或来自 android 的 xmpp 中获得对发件人的消息读取/看到确认

】我们如何在smack或来自android的xmpp中获得对发件人的消息读取/看到确认【英文标题】:howwegetMessageRead/seenAcknowledgmenttoSenderinsmackorinxmppfromandroid【发布时间】:2017-11-1613:40:12【问题描述】:我们如何在Android的smack或XMPP中获得消息... 查看详情

如何在ios设备中存储来自url的json数据并在本地使用它

】如何在ios设备中存储来自url的json数据并在本地使用它【英文标题】:howtostorejsondatafromurliniosdeviceandtouselocalit【发布时间】:2013-04-2207:08:03【问题描述】:我想在我的应用程序中使用json。我可以使用此代码从url解析json:#import"V... 查看详情

如何在 Android 上显示来自 URL 的图像

】如何在Android上显示来自URL的图像【英文标题】:HowtodisplayimagefromURLonAndroid【发布时间】:2011-09-1810:29:20【问题描述】:我想在屏幕上显示图像。图片应该来自URL,而不是可绘制的。代码在这里:<ImageViewandroid:id="@+id/ImageView01... 查看详情

android无法解析符号R [重复]

】android无法解析符号R[重复]【英文标题】:androidcannotresolvesymbolR[duplicate]【发布时间】:2019-03-2611:17:09【问题描述】:当我在appgradle类中添加或更新依赖项时,R将不会在我的活动类中找到。"androidcannotresolvesymbolR"【问题讨论】:... 查看详情

如何使用json解析android在listview中获取图像

】如何使用json解析android在listview中获取图像【英文标题】:howtogetimageinlistviewusingjsonparsingandroid【发布时间】:2015-10-3102:34:50【问题描述】:我想创建一个从URL解析JSON的ListView。在我的ListView中,我希望url中的图像与ListView的宽度... 查看详情

如何在网站中显示来自 Firestore 下载 URL 的图像

...会学习),但需要构建它以使我的数据更容易上传到我的Android应用的FirebaseFirestore。我做了两个教程并使用该代码来构建它。一部分将图像上传到Firebas 查看详情

在 Android 或 iOS 中解析 SAP Web 服务

】在Android或iOS中解析SAPWeb服务【英文标题】:ParsingSAPwebserviceinAndroidoriOS【发布时间】:2017-03-0313:25:47【问题描述】:我想解析Android/iOS中的web服务,即用SAP编写,但无法做到这一点。我可以这样做吗?以及如何?当我在浏览器... 查看详情

如何在 android 中使用 DOM 或 SAX 解析器从 XML 读取子节点

】如何在android中使用DOM或SAX解析器从XML读取子节点【英文标题】:HowtoreadthechildnodesfromXMLusingDOMorSAXparserinandroid【发布时间】:2013-05-1808:39:24【问题描述】:这是我的XML。<Operations><OperationName="OperationName1">Entitydetails1</Op... 查看详情