gpt4 book ai didi

python - Python 中无法解析 JSON 错误

转载 作者:可可西里 更新时间:2023-11-01 16:28:26 25 4
gpt4 key购买 nike

我正在尝试编写 Python 脚本以使用 Zinc API 进行亚马逊购买(参见:https://zinc.io/docs/#full-api)。我应该能够通过单个 POST 请求完成此操作,因此我阅读了有关 urllib 和 urllib2 的信息 here .

但是,当我运行我的脚本时,我收到这个错误:

{"_type":"error","code":"invalid_json","message":"The JSON in your request could not be parsed."}

我非常精确地遵循 Zinc 的代码,所以我不确定为什么会出现错误。

这是我正在运行的(注意:我的个人信息被排除在外,但在我运行脚本时包括在内):

import urllib
import urllib2
import json

url = 'https://api.zinc.io/v0/order'
values = {"client_token" : "public",
"retailer" : "amazon",
"products" :[{"product_id" : "0679753354", "quantity" : 1}],
"max_price" : 1700, "shipping_address" : {
"first_name" : "NAME",
"last_name" : "NAME",
"address_line1" : "ADDRESS",
"address_line2" : "",
"zip_code" : "ZIP",
"city" : "CITY",
"state" : "STATE",
"country" : "US"
},
"is_gift" : False,
"shipping_method" : "cheapest",
"payment_method" : {
"name_on_card" : "NAME",
"number" : "CARDNUMBER",
"security_code" : "SECCODE",
"expiration_month" : 1,
"expiration_year": 2015
},
"billing_address" : {
"first_name" : "NAME",
"last_name" : "NAME",
"address_line1" : "ADDRESS",
"address_line2" : "",
"zip_code" : "ZIP",
"city" : "CITY",
"state" : "STATE",
"country" : "US",
"phone_number" : "PHONE"
},
"retailer_credentials" : {
"email" : "EMAIL",
"password" : "PASSWORD"}
}

data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()

print the_page

任何有关如何解决此 JSON 解析问题的想法都将不胜感激,因为我一直无法找出问题所在。

最佳答案

您不想对该数据进行 urlencode。那是针对表单值,而不是 JSON。

此外,您已经导入了 json 模块,但您没有在您的数据上使用它。你应该这样做:

data = json.dumps(values)
req = urllib2.Request(url, data, {'content-type': 'application/json'})

虽然使用第三方工具更容易也更好requests这类东西的图书馆。

关于python - Python 中无法解析 JSON 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25020752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com