JSON.stringify(Javascript)和JSON.dumps(Python)在列表中不是等效的吗?

JSON.stringify(Javascript)和JSON.dumps(Python)在列表中不是等效的吗?,javascript,python,json,Javascript,Python,Json,在javascript中: var myarray = [2, 3]; var json_myarray = JSON.stringify(myarray) // '[2,3]' 但在Python中: mylist = [2, 3] json_mylist = json.dumps(mylist) # '[2, 3]' <-- Note the space mylist=[2,3] json_mylist=json.dumps(mylist)#“[2,3]”区别在于json.dumps

在javascript中:

var myarray = [2, 3];
var json_myarray = JSON.stringify(myarray) // '[2,3]'
但在Python中:

mylist = [2, 3]
json_mylist = json.dumps(mylist) # '[2, 3]' <-- Note the space
mylist=[2,3]

json_mylist=json.dumps(mylist)#“[2,3]”区别在于
json.dumps
默认情况下会应用一些小的漂亮打印,但
json.stringify
不会

要删除所有空白,如
JSON.stringify
,您需要


如果您正在精确地比较序列化的JSON值,您将如何处理对象键的顺序;Python的默认配置是包含该空格。比较JSON值或etiher生成的确切字节的实际目标是什么?如果是后者,你会有更多的问题,比如没有设置JSON对象中键值对的顺序。输出是等价的,只是不一样。JSON在编码相同的数据时有一定的灵活性,它不要求标准格式。空白是一个例子,字符串中转义的使用是另一个例子。当然,我可以将json字符串转换为类似列表的对象并进行比较。但我发现直接比较更直接。JSON字符串位于数据库中,表示我正在搜索的ForeignKey(Django框架)的字段。(而且排序很重要)。它可能只适用于简单数组。内部包含对象的数组仍然会产生不同的校验和,因此它们不同(它们有额外的字符)。
json_mylist = json.dumps(mylist, separators=(',', ':'))