Python 什么是非规范序列化?
我正在向服务器发送一个http请求,它不断抛出一个400 http错误 带有非规范序列化的错误消息。我试图弄清楚这条消息的含义,从我读到目前为止,这听起来好像与我的对象键没有被排序有关,当我将其序列化为JSON时,这意味着服务器在每次发送请求时不会得到相同的结果,我只是想知道这是否正确?还是完全是另外一回事 以下是我向服务器发送请求的代码:Python 什么是非规范序列化?,python,json,Python,Json,我正在向服务器发送一个http请求,它不断抛出一个400 http错误 带有非规范序列化的错误消息。我试图弄清楚这条消息的含义,从我读到目前为止,这听起来好像与我的对象键没有被排序有关,当我将其序列化为JSON时,这意味着服务器在每次发送请求时不会得到相同的结果,我只是想知道这是否正确?还是完全是另外一回事 以下是我向服务器发送请求的代码: def submit(mutation, pubkey, signature): headers = {'content-type' : 'app
def submit(mutation, pubkey, signature):
headers = {'content-type' : 'application/json'}
url = "http://192.168.99.100:8080/submit/"
data = {
"mutation": mutation,
"signatures": [
{
"pub_key": pubkey,
"signature": signature
}
]
}
response = urllib2.Request(url, headers = { "Content-Type": "application/json"}, data=json.dumps(data))
f = urllib2.urlopen(response)
print f
您是否尝试将
sort\u keys=True
传递到json.dumps
?也许分隔符=(',',':')
?很难说你正在使用的服务到底需要什么,但排序键和删除空格将是我的第一个猜测。是的,我最初尝试过排序和使用分隔符,但仍然不起作用,这让我觉得可能是其他原因