转换为json字符串跨平台时,相同的JSON字符串

时间:2016-03-30 09:32:27

标签: java python json

如果我有一个json字符串{“k”:“v”,“a”:“b”}。

如果我将它转换为json对象,然后返回到Java中的String,请使用Gson库并将其存储在某个数据库中。

而且我将它转换为json对象并返回到Python中的String,我可能会将String作为{“a”:“b”,“k”:“v”},尽管json对象将是相同但现在我不能在订单被更改时进行字符串匹配。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

无法保证json对象键的顺序相同。

Json对象无序:#{3}}

  

对象是一组无序的名称/值对。

如果你想要一些订单,你应该使用json数组而不是json对象。

  

数组是有序的值集合。

另见: http://json.org/

答案 1 :(得分:0)

确保在将JSON序列化到数据库时,键始终按排序顺序排列。在Python中你会写:

json.dumps(obj, sort_keys=True)

使用GSON这很难做,您可能需要使用不同的库。