如何在读取JSON URL后弹出[List] ?

  • 本文关键字:List 读取 JSON URL python json
  • 更新时间 :
  • 英文 :


我需要回答这个问题

写一个Python程序,读取在https://jsonplaceholder.typicode.com/posts

找到的JSON数据
[
{
"userId": 1,
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipitnsuscipit recusandae consequuntur expedita et cumnreprehenderit molestiae ut ut quas totamnnostrum rerum est autem sunt rem eveniet architecto"
},
{
"userId": 1,
"id": 2,
"title": "qui est esse",
"body": "est rerum tempore vitaensequi sint nihil reprehenderit dolor beatae ea dolores nequenfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendisnqui 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 iurenvoluptatem occaecati omnis eligendi aut adnvoluptatem doloribus vel accusantium quis pariaturnmolestiae 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 voluptasnquia voluptatibus provident quia necessitatibus eanrerum repudiandae quia voluptatem delectus fugit aut id quianratione optio eos iusto veniam iure"
},
...
{
"userId": 10,
"id": 100,
"title": "at nam consequatur ea labore ea harum",
"body": "cupiditate quo est a modi nesciunt solutanipsa voluptas error itaque dicta innautem qui minus magnam et distinctio eumnaccusamus ratione error aut"
}
]

然后遍历帖子并删除(弹出)userId为5的用户发布的所有帖子。

将结果JSON(删除post)写入本地文件

到目前为止,我有这个

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)

我不确定你对我的代码做了什么,因为你还没有发布任何更新,但它工作得很好。这里我正在处理收到的JSON,您可以看到输出中没有来自用户5的任何内容。

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))

最新更新