【问题标题】:How to get data from response body [duplicate]如何从响应正文中获取数据[重复]
【发布时间】:2018-03-29 07:34:00
【问题描述】:

我现在正在使用 Java 中的 Youtube API,并设法将一些数据存储为 CommentThreadListResponse

这是它的节点的一个例子,但列表包含大约 100 个。

{
   "snippet" : {
     "topLevelComment" : {
       "snippet" : {
         "textDisplay" : "SOME COMMENT"
       }
     }
   }
 },

所以只剩下textDisplay,作为我想提取到字符串中的东西。所以我的问题是“我该怎么做?”

【问题讨论】:

    标签: java youtube-data-api


    【解决方案1】:

    让你的回复分析一下,为了更容易理解我会放一些索引值,并考虑回复comment

    //index0    {
            "id": "11",
            "snippet": {
                "topLevelComment": {
                    "snippet": {
                        "textDisplay": "SOME COMMENT 2 "
                    }
                }
            }
        },
    
     //index0   {
            "id": "22",
            "snippet": {
                "topLevelComment": {
                    "snippet": {
                        "textDisplay": "SOME COMMENT 2"
                    }
                }
            }
        },
    

    您将得到上述格式的回复,因此要获取每个 sn-p 的详细信息,请浏览索引

    comment[0] 将提取响应的第一个元素。

    comment[0].id 将提取响应的第一个元素 id。

    comment[0].snippet 将提取响应的第一个 sn-p。

    comment[0].snippet.topLevelComment 将提取响应的第一个 sn-p 的 topLevelComment。

    这样,我们可以读取响应并获取我们需要的数据,在您需要获取 textDisplay 的情况下,您可以使用以下代码,

    comments[0].snippet.topLevelComment.snippet.textDisplay
    

    要遍历所有索引,您可以使用 for-each 如下

    for (x in comments) {
    
      comments[x].snippet.topLevelComment.snippet.textDisplay
    
    }
    

    【讨论】:

      【解决方案2】:

      目前尚不清楚你从你的问题中得到的数据结构,但是:

      var comments = [
      {
        "id": "1111",
         "snippet" : {
           "topLevelComment" : {
             "snippet" : {
               "textDisplay" : "SOME COMMENT 2 "
             }
           }
         }
       },
      {
        "id": "222",
       "snippet" : {
           "topLevelComment" : {
             "snippet" : {
               "textDisplay" : "SOME COMMENT 2"
             }
           }
         }
       },
      ]'
      

      你需要一个序列化库,结帐How to deserialize json string into object 那么

      for(var i = 0; i < comments.length; ++i)
        comments[i].snippet.topLevelComment.snippet.textDisplay
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-26
        • 1970-01-01
        • 1970-01-01
        • 2017-05-31
        相关资源
        最近更新 更多