大佬教程收集整理的这篇文章主要介绍了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"
}
]
}
问题:
从只有一个用户的文件进行 POST 工作完美。新用户按预期作为对象附加到 info.Json。
但是当尝试 POST 时,假设有 3 个用户来自下面的文件“create-multiple-Users.Json”,然后用户将作为列表附加到“info.Json”对象3次(即对象/迭代次数)
[ { “身份证”:10, "name": "珍妮特",“工作”:“织布工” },{ “身份证”:12, "name": "Kwonn","job": "Wingtsel" },{ “身份证”:13, "name": "夏娃",“工作”:“霍尔特” } ]
我希望将用户作为单独的对象一个一个地附加。
也许我把循环过于简单化了? 非常感谢任何帮助。
PS:抱歉,我无法格式化多用户文件;(
对 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
,
感谢 "enriqueojedalara"
我通过使用提示找到了解决方案import json
import requests
with open(r"create-multiple-Users.json","r") as payload:
data = json.load(payload) #<class 'list'>
headers = {'content-type': 'application/json; charset=utf-8'}
print("Total number of objects: ",len(data))
for i in range(len(data)):
data_new = json.dumps(data[i])
r = requests.post('http://localhost:3000/users',data=data_new,headers=headers)
print("Item#",i,"added"," -> ",data_new)
以上是大佬教程为你收集整理的REST API:如何在 python 循环中从(JSON)文件中发布多个条目?全部内容,希望文章能够帮你解决REST API:如何在 python 循环中从(JSON)文件中发布多个条目?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。