MongoDB存储字符串时的问题
我使用log4j将日志输出到MongoDB数据库,我想使用MDC将一个map输出到Json字符串中。
日志中map的样式是{CODE1=00022, CODE=0002}
这不符合json规范,会报错
我就重写的map的toString()方法,输出{"CODE1"="00022", "CODE"="0002"}
但是写入数据库的时候,MongoDB会将字符串中的转义字符也显示出来,{\"CODE1\"=\"00022\", \"CODE\"=\"0002\"}如:。还是会有JSONParseException
有什么解决办法吗?
我的目的就是将map以{"CODE1"="00022", "CODE"="0002"}样式放到MongoDB一条文档的子文档中。如
{
"_id" : { "$oid" : "4e126e6a8afbc8dd60f92768"} ,
"LOGTIME" : "2011-07-05 09:52:42" ,
"LOGLEVEL" : "INFO" ,
"LOGTYPE" : {"CODE1"="00022", "CODE"="0002"} , ←←此处
"CLASSNAME" : "test.LogTest" ,
"METHODNAME" : "main" ,
"PATH" : "test.LogTest.main(LogTest.java:49)" ,
"MESSAGE" : "java.lang.IndexOutOfBoundsException: Index: 4, Size: 0\r\n\tat java.util.ArrayList.RangeCheck(ArrayList.java:547)\r\n\tat java.util.ArrayList.get(ArrayList.java:322)\r\n\tat test.LogTest.main(LogTest.java:44)\r\n"
}