使用 Python 创建嵌套 JSON 请求
用户需要传递 json 对象作为请求的一部分。它看起来像这样:
{"token" :"ayaljltja",
"addresses": [
{'name':'Home','address':'20 Main Street',
'city':'new-york'},
{'name':'work', 'address':'x Street', 'city':'ohio'}
]}
我现在有两个问题。首先,我不知道如何通过重新创建嵌套的 POST 来测试此代码。我可以成功发布一个字典,但是发布 JSON 对象中的地址列表让我很困惑。
简单地使用 cURL,我该怎么做?我该如何使用 urrlib2 来做到这一点?
我的第二个问题是在服务器端反序列化 JSON POST 对象。我想我只需要看到成功的 POST 即可确定输入(然后使用 json 模块反序列化)。
有什么建议吗?
A user needs to pass a json object as a part of the request. It would look something like this:
{"token" :"ayaljltja",
"addresses": [
{'name':'Home','address':'20 Main Street',
'city':'new-york'},
{'name':'work', 'address':'x Street', 'city':'ohio'}
]}
I have two problems right now. First, I can't figure out how to test this code by recreating the nested POST. I can successfully POST a dict but posting the list of addresses within the JSON object is messing me up.
Simply using cURL, how might I do this? How might I do it with urrlib2?
My second issue is then deserializing the JSON POST object on the server side. I guess I just need to see a successful POST to determine the input (and then deserialize it with the json module).
Any tips?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先确保您的 JSON 有效。将其粘贴到 JSONLint 网页中。
目前您的 JSON 有两个问题:
"token" :"ayaljltja"
和"addresses": [...]
之间没有First make sure your JSON is valid. Paste it into the JSONLint web page.
Currently your JSON has two issues:
"token" :"ayaljltja"
and"addresses": [...]
使用命令行curl,将 JSON 保存到文件中,例如 data.json。然后尝试:curl -X POST -d @data.json http://your.service.url
也可以将 JSON 直接输入到 -d 参数,但是(听起来您已经知道了)您必须完全正确地引用和转义。
With command line curl, save your JSON to a file, say data.json. Then try:
curl -X POST -d @data.json http://your.service.url
It's also possible to enter the JSON directly to the -d parameter but (as it sounds like you know already) you have to get your quoting and escaping exactly correct.