【发布时间】:2020-08-26 07:25:13
【问题描述】:
下面我添加了当我从我的 Youtube 频道请求内容详细信息时在控制台中收到的输出的确切副本。
请求是使用 Alamofire 发出的,但这可能无关紧要。这适用于使用 Swift 的 iOS。
使用基本解码我可以达到 JSON 的第一级,但是我无法理解全面的 JSON 结构以及如何分解响应中的任何细节。
{
etag = "7m_KKUulP0TshaC_TW0-pQ-UEJU";
items = (
{
contentDetails = {
relatedPlaylists = {
favorites = FL0VZ0PEkyUOmPbVJ1rRcdVg;
likes = LL0VZ0PEkyUOmPbVJ1rRcdVg;
uploads = UU0VZ0PEkyUOmPbVJ1rRcdVg;
watchHistory = HL;
watchLater = WL;
};
};
etag = "QT41YKfmkOf65gBK7Fg_nqflh9Y";
id = UC0VZ0PEkyUOmPbVJ1rRcdVg;
kind = "youtube#channel";
snippet = {
description = "";
localized = {
description = "";
title = "James Faulkner";
};
publishedAt = "2017-09-27T20:56:20Z";
thumbnails = {
default = {
height = 88;
url = "https://yt3.ggpht.com/a/AATXAJzLxbetHiMHm4ssQvI0zF1aAiM29r1ulQKEUw=s88-c-k-c0xffffffff-no-rj-mo";
width = 88;
};
high = {
height = 800;
url = "https://yt3.ggpht.com/a/AATXAJzLxbetHiMHm4ssQvI0zF1aAiM29r1ulQKEUw=s800-c-k-c0xffffffff-no-rj-mo";
width = 800;
};
medium = {
height = 240;
url = "https://yt3.ggpht.com/a/AATXAJzLxbetHiMHm4ssQvI0zF1aAiM29r1ulQKEUw=s240-c-k-c0xffffffff-no-rj-mo";
width = 240;
};
};
title = "James Faulkner";
};
statistics = {
commentCount = 0;
hiddenSubscriberCount = 0;
subscriberCount = 0;
videoCount = 2;
viewCount = 96;
};
}
);
kind = "youtube#channelListResponse";
pageInfo = {
resultsPerPage = 1;
totalResults = 1;
};
}
谁能帮我开始破解这个 JSON,让我们说一下 High Thumbnail 的 URL?
【问题讨论】:
-
请提供有效的json
-
嗯,这是直接提取的,当我把它作为一个“美化器”来清理它时,我得到了同样的回复。那就是它无效。但是我不明白为什么它会无效。
-
您可以使用 app.quicktype.io?share=FmQcxvgKHRcSzxyY7mAk 自动生成 Codable 结构,但您需要有效的 JSON
-
这已经是一个用 (NS)JSONSerialization 转换成 NSDictionary/NSArray/NSString 的 JSON。复制/粘贴您在 JSONValidator 中提供的内容(网上有很多),您会看到...它是
PropertyListSerialization.PropertyListFormat.openStep/
标签: json swift youtube youtube-api youtube-data-api