Python 什么是非规范序列化?

Python 什么是非规范序列化?,python,json,Python,Json,我正在向服务器发送一个http请求,它不断抛出一个400 http错误 带有非规范序列化的错误消息。我试图弄清楚这条消息的含义,从我读到目前为止,这听起来好像与我的对象键没有被排序有关,当我将其序列化为JSON时,这意味着服务器在每次发送请求时不会得到相同的结果,我只是想知道这是否正确?还是完全是另外一回事 以下是我向服务器发送请求的代码: def submit(mutation, pubkey, signature): headers = {'content-type' : 'app

我正在向服务器发送一个http请求,它不断抛出一个400 http错误 带有非规范序列化的错误消息。我试图弄清楚这条消息的含义,从我读到目前为止,这听起来好像与我的对象键没有被排序有关,当我将其序列化为JSON时,这意味着服务器在每次发送请求时不会得到相同的结果,我只是想知道这是否正确?还是完全是另外一回事

以下是我向服务器发送请求的代码:

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
?也许
分隔符=(',',':')
?很难说你正在使用的服务到底需要什么,但排序键和删除空格将是我的第一个猜测。是的,我最初尝试过排序和使用分隔符,但仍然不起作用,这让我觉得可能是其他原因