0

基本上,我正在尝试这样做:

@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 字符串的库。

4

0 回答 0