业务需求:接受到一个json字符串时需要先去掉crc字段,再根据去掉crc字段后的json字符串计算crc,为了确保json字符串转为jsonObject后保持字段顺序不变,做如下处理。
String receiveMsg = "{\"id\":0,\"direction\":0,\"body\":{\"state\":0},\"crc\":89}";
//确保json字符串序列化后保持字段顺序不变
JSONObject jsonObject = new JSONObject(true);
LinkedHashMap<String, Object> json = JSON.parseObject(receiveMsg, LinkedHashMap.class, Feature.OrderedField);
jsonObject.putAll(json);
//去除crc字段
jsonObject.remove("crc");
String exCrc = jsonObject.toJSONString();