String转JSON对象的时候默认是按字段名称重新排序,并且如果字段对应的值为null是会忽略的 按照顺序的方法: JSONObject requestBody = JSON.parseObject(requestBodyStr, Feature.OrderedField); 不忽略null的方法: JSONObject requestBody = JSON.parseObject(requestBodyStr, Feature.IgnoreNotMatch); public static JSONObject parseObject(String text, Feature... features) { return (JSONObject)parse(text, features); } 如上parseObject方法接收的第二个参数可以是多个,所以既想要保持顺序又想要不忽略null的时候可以这样: JSONObject requestBody = JSON.parseObject(requestBodyStr, Feature.OrderedField,Feature.IgnoreNotMatch);