在读取JSON URL后,如何弹出[列表]?

2024-04-29 16:01:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要这个答案

编写一个Python程序,读取在https://jsonplaceholder.typicode.com/posts找到的JSON数据

[
  {
    "userId": 1,
    "id": 1,
    "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
    "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
  },
  {
    "userId": 1,
    "id": 2,
    "title": "qui est esse",
    "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla"
  },
  {
    "userId": 1,
    "id": 3,
    "title": "ea molestias quasi exercitationem repellat qui ipsa sit aut",
    "body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut"
  },
  ...
  {
    "userId": 4,
    "id": 38,
    "title": "explicabo et eos deleniti nostrum ab id repellendus",
    "body": "animi esse sit aut sit nesciunt assumenda eum voluptas\nquia voluptatibus provident quia necessitatibus ea\nrerum repudiandae quia voluptatem delectus fugit aut id quia\nratione optio eos iusto veniam iure"
  },
  ...
  {
    "userId": 10,
    "id": 100,
    "title": "at nam consequatur ea labore ea harum",
    "body": "cupiditate quo est a modi nesciunt soluta\nipsa voluptas error itaque dicta in\nautem qui minus magnam et distinctio eum\naccusamus ratione error aut"
  }
]

然后循环浏览帖子并删除(弹出)用户ID为5的任何帖子

将生成的JSON(删除帖子)写入本地文件

到目前为止我有这个

import json
import urllib.request

url = "https://jsonplaceholder.typicode.com/posts"
data = urllib.request.urlopen(url).read().decode()

site_info =json.loads(data)

for info in site_info:
    print("{}, {}, {}, {}".format(
        info["userId"], info["id"], info["title"], info["body"]))

mylist= [{"userId":1},{"userId":2},{"userId":3},{"userId":4},{"userId":5}, 
         {"userId":6},{"userId":7},{"userId":8},{"userId":9},{"userId":10}]

for i in (5,0):
    print(i)
    if mylist[i]["userId"] == 5:
        mylist.pop(i)

print (mylist)

Tags: ininfoidtitlebodyetestuserid
1条回答
网友
1楼 · 发布于 2024-04-29 16:01:06

我不确定你在用我的代码做什么,因为你还没有发布任何更新,但它运行得非常好。这里我正在处理接收到的JSON,您可以看到输出没有来自USER5的任何内容

import json
import urllib.request

url = "https://jsonplaceholder.typicode.com/posts"
data = urllib.request.urlopen(url).read().decode()
site_info =json.loads(data)

non5 = [post for post in site_info if post['userId'] != 5]

print(json.dumps(non5))

相关问题 更多 >