解析单引号JSON字符串字段

时间:2013-06-09 11:30:04

标签: java json json-simple

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

@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 String在代码上就像这样,以消除对\转义字符的需要:

"{'username' : 'xirby'}"

那么有没有可以解析它的JSON解析器?

或者

也许是一个可以将此String转换为有效JSON字符串的库。

0 个答案:

没有答案