如何从响应主体获取数据

时间:2017-10-17 14:49:26

标签: java youtube-data-api

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

以下是其节点的示例,但列表中包含大约100个节点。

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

所以只剩下textDisplay,我想将其提取到String中。所以我的问题是“我怎么能这样做?”

2 个答案:

答案 0 :(得分:0)

目前还不清楚数据的结构是否完全来自于问题,但是:

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

你需要一个serilization lib,checkout How to deserialize json string into object 那么

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

答案 1 :(得分:0)

让我们回答并分析它,为了让它更容易理解,我会提供一些索引值,并考虑回复评论

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

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

您将以上述格式获得回复,以便获取每个代码段的详细信息导航索引

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

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

comment[0].snippet将提取回复的第一个片段。

comment[0].snippet.topLevelComment将提取响应的第一个片段的topLevelComment。

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

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

要浏览所有可用于以下内容的索引

for (x in comments) {

  comments[x].snippet.topLevelComment.snippet.textDisplay

}