在JSON对象中,值的顺序重要吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

我有一个JSON对象,我在我的Java程序中构建。

JSONObject jObj = {"AAA:aaa","BBB:bbb","CCC:ccc"}

我将这个对象发送到它期望以下类型的JSON对象的服务器。

{"BBB:bbb", "AAA:aaa", "CCC:ccc"}

我的问题是,JSON对象的顺序在服务器端真的很重要吗?如果是,我该如何更改订单?

提问于
用户回答回答于

我的问题是,JSON对象的顺序在服务器端真的很重要吗?

应该不重要。根据JSON规范,属性的顺序并不重要。

幸运的是,设计/实现服务器的人没有犯这个错误的可能性。默认情况下,我遇到的所有Java JSON解析器在解析时都不保留属性顺序。这将是很难意外地实现一个服务器的JSON属性被解析的顺序是重要的。

如果是,我该如何更改订单?

困难的是,我担心:

  • 可以手动生成JSON。
  • Java实现2中至少有一个JSON 允许您提供Map包含JSON对象属性的对象。如果使用LinkedHashMapor TreeMap,它应该保留插入顺序或属性键的词法顺序。

1 - 例如,这个可怜的开发人员正在努力的nitwits ... https://stackoverflow.com/a/4515863/139985

2 - JSON-simple:https//code.google.com/p/json-simple/。也可能有其他人。

用户回答回答于

恕我直言 不可能

JSON文档

一个对象是一组无名的名称/值对

所以方法是按要求的顺序获取值,而不是排序 json

扫码关注云+社区