我有一个名为'cachedResult'的字符串,我需要将其转换为JSONArray 字符串'cachedResult'是:
[{"lastname":"Cashier 100","count":3},{"lastname":"Cashier 227","count":21},{"lastname":"Cashier 301","count":24},{"lastname":"Cashier 231","count":51}]
当我通过以下方式将其转换为JSONArray时:
def resultJsonArray=new JSONArray(cachedResult)
它将toString()的输出返回为:
[{"count":3,"lastname":"Cashier 100"},{"count":21,"lastname":"Cashier 227"},{"count":24,"lastname":"Cashier 301"},{"count":51,"lastname":"Cashier 231"}]
字符串的顺序是lastnames然后计数。但是由该String构成的JSONArray给出了相反的顺序(我猜测的排序顺序)count,然后是lastname。
我希望输出与输入相同(相同的顺序) 请帮助,提前致谢
答案 0 :(得分:4)
可能不是您问题的真实答案,但您不应该依赖JSON对象的顺序:
对象是一组无序名称/值对。一个东西 以{(左括号)开始,以}结尾(右括号)。每个名字都是 后跟:(冒号)和名称/值对分开, (逗号)。
(见:www.json.org)
因此,您应该确保您的代码不依赖于JSON对象中特定的键/值对顺序。