关于解决前端传JSON对象,后端接收对象后里面属性排序错乱问题
JSONObject是前后端交互时常用的传参类型。但是当前端传参时如果传的是json对象格式,那么后端接收该对象后会出现对象里面属性错乱的问题。
要解决此问题需要让前端传参时,改用json字符串形式JSON.stringify()
;而不是用json对象形式JSON.parse()
。而且后端接收也要用String
类型来接收该参数。
private String jsonObject;
// 此行代码也可以解析JSONObject对象,并且对象属性顺序不乱
JSONObject jsonObject = (JSONObject)JSON.parse(jsonObject, Feature.OrderedField);
因为前端向后端传输对象时,会涉及到序列化与反序列化的过程,后端接收JSONObject对象后解析对象会按照HashMap的键进行排序,这样就会造成对象内属性顺序混乱。但如果传参是用字符串形式就不会出现此种情况。