结论:FastJson2性能最佳
FastJson2?性能的优化点:
public static void main(String[] args) {
Map<Integer, String> jsosMap = Map.of(1, "初中", 2, "高中", 3, "大学");
System.out.println(JSON.toJSONString(jsosMap));
JSONWriter.Context context = new JSONWriter.Context(JSONWriter.Feature.WriteNonStringKeyAsString);
System.out.println(JSON.toJSONString(jsosMap, context));
// {1:"初中",3:"大学",2:"高中"}
// {"1":"初中","3":"大学","2":"高中"}
}
????????当Key为数字时,FastJson2并未遵循标准的JSON协议格式,Key必须是一个字符串,避免转换成字符串带来的开销,同时减少双引号带来的额外存储。
? ? ? ? 因此,当MySQL字段是json格式时,需特别注意,key应该是字符串,否则会提示数据格式错误:
Data truncation: Invalid JSON text: "Missing a name for object member." at position 1 in value for column 'XXX'.
at