在 POST 中 JSON 变量的顺序重要吗?
In a POST does order of JSON variables matter?
我正在编写一个程序,通过 POST 请求将我公司的订单上传到订单审核网站。它需要一个 JSON 对象,它的开头是这样的
{
"utoken": "XVUYvqaRLPtjfuj1OyNbyqw1cv0R0f76g4PadwmR",
"platform": "general",
然而,当我使用 JSON.simple
创建我的 JSON 对象时
JSONObject test = new JSONObject();
test.put("utoken", "awooga");
test.put("platform", "general");
打印出来的时候是按字母顺序排列的
{
"platform": "general",
"utoken": "awooga"
这重要吗?我认为不应该,但只是想确定一下,因为我以前从未遇到过这种情况。
查看答案here
TL;DR - 订单未承诺保持不变
根据 JSON standard,object 的官方定义为:
An object is an unordered set of name/value pairs.
因此顺序无关紧要。显然,从接收 POST 请求的服务器的角度来看,可以从 HTTP header 解析订单并做出反应。不过我想这不是您的兴趣所在,因为这样做没有多大意义。
我正在编写一个程序,通过 POST 请求将我公司的订单上传到订单审核网站。它需要一个 JSON 对象,它的开头是这样的
{
"utoken": "XVUYvqaRLPtjfuj1OyNbyqw1cv0R0f76g4PadwmR",
"platform": "general",
然而,当我使用 JSON.simple
创建我的 JSON 对象时JSONObject test = new JSONObject();
test.put("utoken", "awooga");
test.put("platform", "general");
打印出来的时候是按字母顺序排列的
{
"platform": "general",
"utoken": "awooga"
这重要吗?我认为不应该,但只是想确定一下,因为我以前从未遇到过这种情况。
查看答案here
TL;DR - 订单未承诺保持不变
根据 JSON standard,object 的官方定义为:
An object is an unordered set of name/value pairs.
因此顺序无关紧要。显然,从接收 POST 请求的服务器的角度来看,可以从 HTTP header 解析订单并做出反应。不过我想这不是您的兴趣所在,因为这样做没有多大意义。