首页 > 解决方案 > REST API:如何在 python 循环中从(JSON)文件中发布多个条目?

问题描述

我是 python 和 REST 世界的新手。

我的 Python 脚本

import json
import requests

with open(r"create-multiple-Users.json", "r") as payload:
    data = json.load(payload)
    json_data = json.dumps(data, indent=2)
    headers = {'content-type': 'application/json; charset=utf-8'}

    for i in range(len(data)):
        r = requests.post('http://localhost:3000/users',
                          data=json_data, headers=headers)

模拟 API 服务器https ://github.com/typicode/json-server 。

入口文件: “info.json”,端点: /users,最初只有一个用户。

{
  "users": [
    {
      "id": 1,
      "name": "John",
      "job": "Wong"
    }
   ]
}

问题:

我希望将用户一个一个地附加为单独的对象。

也许我过于简化了循环?非常感谢任何帮助。

PS:对不起,我无法格式化多用户文件;(

标签: pythonjsonapirest

解决方案


您的 for 迭代中的一个简单更改将有助于:

import json
import requests

with open(r"create-multiple-Users.json", "r") as payload:
    data = json.load(payload)
    json_data = json.dumps(data, indent=2)
    headers = {'content-type': 'application/json; charset=utf-8'}

    for row in data: # Change this to iterate the json list
        r = requests.post('http://localhost:3000/users',
                          data=row, headers=headers) # Send row that is a single object

推荐阅读