首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从json文件中获取特定元素?

如何从json文件中获取特定元素?
EN

Stack Overflow用户
提问于 2022-04-19 14:22:33
回答 2查看 73关注 0票数 -1

我使用python为新闻api发出请求。

如何获得名为"Ixbt.com“的源,然后使用python循环获得标题和描述?

代码语言:javascript
复制
{
      "source": {
        "id": "google-news",
        "name": "Google News"
      },
      "author": null,
      "title": "Samsung выпустит лимитированный Galaxy Z Flip3 для поклонников Pokemon - Rozetked",
      "description": null,
      "url": "https://news.google.com/__i/rss/rd/articles/CBMiZmh0dHBzOi8vcm96ZXRrZWQubWUvbmV3cy8yMzA4OC1zYW1zdW5nLXZ5cHVzdGl0LWxpbWl0aXJvdmFubnl5LWdhbGF4eS16LWZsaXAzLWRseWEtcG9rbG9ubmlrb3YtcG9rZW1vbtIBAA?oc=5",
      "urlToImage": null,
      "publishedAt": "2022-04-19T10:07:40Z",
      "content": null
    },
    {
      "source": {
        "id": null,
        "name": "Ixbt.com"
      },
      "author": null,
      "title": "Уникальная во всём карманная игровая приставка. Поставки консоли Playdate наконец-то стартовали - iXBT.com - новости техники и технологий",
      "description": "Очень необычная игровая приставка Panic Playdate была представлена ещё в 2019 году, но лишь сейчас компания начала первые поставки. В письме к клиентам компания рассказала, что поставки первой партии стартовали вчера и продлятся в течение ближайших недель.",
      "url": "https://www.ixbt.com/news/2022/04/19/unikalnaja-vo-vsjom-karmannaja-igrovaja-pristavka-postavki-konsoli-playdate-nakonecto-startovali.html",
      "urlToImage": "https://www.ixbt.com/img/n1/news/2022/3/2/playdate-boxed-2_large.jpg",
      "publishedAt": "2022-04-19T10:07:00Z",
      "content": "Panic Playdate 2019 , . \r\n , . , , . \r\n Panic . , - , .  \r\n  2022 , , . 2023 , .\r\n, Playdate , ."
    },

我有主意,但不确定。

我想应该是这样的:

代码语言:javascript
复制
print([article["source"].get("name") for article in data["articles"]])

但那是不对的。

EN

回答 2

Stack Overflow用户

发布于 2022-04-19 14:45:53

代码语言:javascript
复制
articles = [{
        "source": {
        "id": "google-news",
        "name": "Google News"
        },
          "author": None,
          "title": "Samsung выпустит лимитированный Galaxy Z Flip3 для поклонников Pokemon - Rozetked",
          "description": None,
          "url": "https://news.google.com/__i/rss/rd/articles/CBMiZmh0dHBzOi8vcm96ZXRrZWQubWUvbmV3cy8yMzA4OC1zYW1zdW5nLXZ5cHVzdGl0LWxpbWl0aXJvdmFubnl5LWdhbGF4eS16LWZsaXAzLWRseWEtcG9rbG9ubmlrb3YtcG9rZW1vbtIBAA?oc=5",
          "urlToImage": None,
          "publishedAt": "2022-04-19T10:07:40Z",
          "content": None
        },
        {
          "source": {
            "id": None,
            "name": "Ixbt.com"
          },
          "author": None,
          "title": "Уникальная во всём карманная игровая приставка. Поставки консоли Playdate наконец-то стартовали - iXBT.com - новости техники и технологий",
          "description": "Очень необычная игровая приставка Panic Playdate была представлена ещё в 2019 году, но лишь сейчас компания начала первые поставки. В письме к клиентам компания рассказала, что поставки первой партии стартовали вчера и продлятся в течение ближайших недель.",
          "url": "https://www.ixbt.com/news/2022/04/19/unikalnaja-vo-vsjom-karmannaja-igrovaja-pristavka-postavki-konsoli-playdate-nakonecto-startovali.html",
          "urlToImage": "https://www.ixbt.com/img/n1/news/2022/3/2/playdate-boxed-2_large.jpg",
          "publishedAt": "2022-04-19T10:07:00Z",
          "content": "Panic Playdate 2019 , . \r\n , . , , . \r\n Panic . , - , .  \r\n  2022 , , . 2023 , .\r\n, Playdate , ."
        }]
for article in articles:
    source_name = article['source']['name']

比它更重要的东西?

票数 0
EN

Stack Overflow用户

发布于 2022-04-19 15:03:18

我认为这可以通过以下代码实现,也取决于您将如何存储这些源名称的标题和描述。

代码语言:javascript
复制
news =[
    {
      "source": {
        "id": "google-news",
        "name": "Google News"
      },
      "author": null,
      "title": "Samsung выпустит лимитированный Galaxy Z Flip3 для поклонников Pokemon - Rozetked",
      "description": null,
      "url": "https://news.google.com/__i/rss/rd/articles/CBMiZmh0dHBzOi8vcm96ZXRrZWQubWUvbmV3cy8yMzA4OC1zYW1zdW5nLXZ5cHVzdGl0LWxpbWl0aXJvdmFubnl5LWdhbGF4eS16LWZsaXAzLWRseWEtcG9rbG9ubmlrb3YtcG9rZW1vbtIBAA?oc=5",
      "urlToImage": null,
      "publishedAt": "2022-04-19T10:07:40Z",
      "content": null
    },
    {
      "source": {
        "id": null,
        "name": "Ixbt.com"
      },
      "author": null,
      "title": "Уникальная во всём карманная игровая приставка. Поставки консоли Playdate наконец-то стартовали - iXBT.com - новости техники и технологий",
      "description": "Очень необычная игровая приставка Panic Playdate была представлена ещё в 2019 году, но лишь сейчас компания начала первые поставки. В письме к клиентам компания рассказала, что поставки первой партии стартовали вчера и продлятся в течение ближайших недель.",
      "url": "https://www.ixbt.com/news/2022/04/19/unikalnaja-vo-vsjom-karmannaja-igrovaja-pristavka-postavki-konsoli-playdate-nakonecto-startovali.html",
      "urlToImage": "https://www.ixbt.com/img/n1/news/2022/3/2/playdate-boxed-2_large.jpg",
      "publishedAt": "2022-04-19T10:07:00Z",
      "content": "Panic Playdate 2019 , . \r\n , . , , . \r\n Panic . , - , .  \r\n  2022 , , . 2023 , .\r\n, Playdate , ."
    }
    ]

for vals in news:
    if vals['source']['name'] == "Ibxt.com" :
       title = vals['title']
       desc  = vals['description']

如果您想将这些标题和描述存储到新的列表/二数值中,我们可以相应地创建新变量来添加/追加它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71926563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档