在python中使用嵌套字典和列表创建json对象

瓦西里奥斯·安东尼奥(Vasileios Antoniou)

我正在尝试在python中创建以下有效负载以发出POST请求。以下行来自我的浏览器中的REST客户端,并创建了我想要的结果,并且我知道它可以工作。

(URL编码的表单数据)features = [{“ attributes”:{“ POINT_NAME”:“ tpoint”,“ EASTING”:“ 338250”,“ NORTHING”:“ 342300”,“ CREATION_DATE”:“ 16/12/2020”, },“ geometry”:{“ x”:338250,“ y”:342300}}]&f = json

到目前为止,我进行了许多尝试,最接近的尝试如下:

import json
import requests

#Create inner dictionary 
data_dictionary = {}
data_dictionary['attributes'] = {"POINT_NAME" : "tpoint", "EASTING" : "338250", "NORTHING" : "342300", "CREATION_DATE" : "16/12/2020"}
data_dictionary['geometry'] ={"x" : 338250, "y" : 342300}
data_list = [data_dictionary]
payload = {"features": data_list , "f" : "json"}

r = request.post(API_ENDPOINT_POINT, data = payload) 
r.text

有效负载输出为:{'功能':[{'属性':{'POINT_NAME':'tpoint','EASTING':'338250','NORTHING':'342300','CREATION_DATE':'16 / 12/2020 '},'geometry':{'x':338250,'y':342300}}],'f':'json'},但是当我发出请求时,得到:'{“错误”:{“代码“:500,”消息“:”无法完成操作。“,”详细信息“:[”解析器错误:某些参数无法识别。“]}}'

任何想法都会有所帮助,我被困住了。

谢谢

ilov3

复制评论的答案:尝试将有效负载用作

payload = {"features": json.dumps(data_list) , "f" : "json"}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章