Я выполнил реальный поиск, используя мой ключ, как предложено в примере Google:
GET https://www.googleapis.com/customsearch/v1?key=INSERT-YOUR-KEY&cx=013036536707430787589:_pqjad5hr1a&q=flowers&alt=json
И вот что я получаю (показывая только бит данных)
items": [
{
"kind": "customsearch#result",
"title": "FTD.COM - Flowers Online | Roses, Fresh Flowers, Plants and Gift ...",
"htmlTitle": "FTD.COM - \u003cb\u003eFlowers\u003c/b\u003e Online | Roses, Fresh \u003cb\u003eFlowers\u003c/b\u003e, Plants and Gift \u003cb\u003e...\u003c/b\u003e",
"link": "http://www.ftd.com/",
"displayLink": "www.ftd.com",
"snippet": "Aug 2, 2011 ... Order flowers online for same day floral delivery. Shop for flowers, chocolates, roses, gifts and gift baskets by occasion, season or get beautiful ...",
"htmlSnippet": "Aug 2, 2011 \u003cb\u003e...\u003c/b\u003e Order \u003cb\u003eflowers\u003c/b\u003e online for same day floral delivery. Shop for \u003cb\u003eflowers\u003c/b\u003e, chocolates, \u003cbr\u003e roses, gifts and gift baskets by occasion, season or get beautiful \u003cb\u003e...\u003c/b\u003e",
"cacheId": "D_MQAIEeVpAJ",
"pagemap": {
"metatags": [
{
"y_key": "e887dc108fef83f6",
"msvalidate.01": "71957E1C9D33211154243270EB14C63C"
}
]
}
......
Это выглядиткак:
items.title array The title of the search result, in plain text.
Это похоже на тип данных String из множества результатов, которые я получаю, поэтому я не уверен, почему ссылка классифицировала его как массив
items.snippet array The snippet of the search result, in plain text.
Это похоже наСтроковый тип данных также из результатов, которые я получил
items.pagemap object Contains pagemap information for this search result.
items.pagemap.value array Pagemap information, keyed by the name of this pagemap.
items.pagemap.value.value object The actual pagemap information.
На основе описания PageMap это выглядит как произвольная пара данных ключ-значение, которые может предоставить веб-сайт.
Ниже приведены некоторые карты страниц, которые я получил из своего теста для справки:
"pagemap": {
"metatags": [
{
"y_key": "e887dc108fef83f6",
"msvalidate.01": "71957E1C9D33211154243270EB14C63C"
}
]
}
"pagemap": {
"website": [
{
"type": "website",
"title": "ProFlowers",
"description": "The freshest flowers, guaranteed to last at least 7 days.",
"image": "http://a1128.g.akamai.net/7/1128/497/0001/images.proflowers.com/pcsite/ProflowersLogo_nb.gif",
"url": "http://www.proflowers.com/",
"site_name": "ProFlowers",
"app_id": "180475245301608"
}
],
"metatags": [
{
"msnbot": "NOODP",
"msvalidate.01": "77940E049C181974C3AA656C72688B4C"
}
]
}
"pagemap": {
"metatags": [
{
"viewport": "width=device-width; initial-scale=1.0; maximum-scale=1.0;"
}
]
Поскольку страница страниц очень неструктурирована, я бы сохранил их как Map<String, JSONObject> pagemap
.Как вы можете видеть, я просто сохраняю исходный JSONObject в pagemap, поэтому, если вам это нужно, вы всегда можете извлечь его.Если нет набора определений, какой тип мы могли бы поместить в карту страницы вместе с ее полями, представление значения карты страницы как класса может быть затруднено.