我在文档中看不到JsonOutput.toJson是否会保持我们发送的属性的顺序。例如,以下代码:
jsonResponse = JsonOutput.toJson([
memberId:memberId,
emailAddress: emailAddress
])
我们能否依赖于我们总会在" memberId"会是第一个吗?
答案 0 :(得分:1)
我认为订单无法保证。
Groovy 2.4.4中groovy.json.JsonOutput
的 Here is the source-code。从此代码中,方法toJson(Map m)
调用writeMap(Map<?, ?> map, CharBuf buffer)
,它迭代地图的条目。这很可能是订单丢失的地方。