基本上,我正在尝试这样做:
@Test
public void testCreateFromString() {
BasicDBObject obj = new BasicDBObject("{'username': 'xirby'}");
assertNotNull(obj.get("username"));
}
@Test
public void testCreateQueryFromString() {
BasicDBObject query = new BasicDBObject("{'$inc': {number: 1}}");
assertNotNull(query.get("$inc"));
}
两项测试均失败,并出现错误:
Unexpected character (') at position 2.
at org.json.simple.parser.Yylex.yylex(Unknown Source)
BasicDBObject.java:(w/c是一个 HashMap)
public BasicDBObject(String doc){
try {
JSONParser parser=new JSONParser();
Object obj = parser.parse(doc);
if (obj != null){
if (obj instanceof JSONObject){
putAll((Map<String,Object>) obj);
}
} else {
throw new RuntimeException("Cannot parse document: " + doc);
}
} catch (Exception e) {
e.printStackTrace();
}
}
JSON字符串最有可能在代码上是这样的,以消除对\
转义字符的需要:
"{'username' : 'xirby'}"
那么有没有可以解析这个的 JSON 解析器呢?
或者
也许,一个可以将此字符串转换为有效 JSON 字符串的库。