到目前为止,我一直在使用以下代码,以便从json字符串创建DBObject

DBObject metadataObject = (DBObject)JSON.parse(jsonString);


但是,不建议使用com.mongodb.util.JSON,建议改用BasicDBObject.parse

DBObject metadataObject = (DBObject)BasicDBObject.parse(jsonString);


但是,当jsonString是数组时(例如"[{k: 'v'},{o: 'p'}]"它将引发异常。JSON.parse可以正常工作。

o,我要使用的是BasicDBObject.parse(...)

(DBObject)JSON.parse("[{'hola': 'adeu'}, {'departament': [{'ambit': 'just', 'name': 'ts'}]}]");


代码将是(此代码崩溃):

(DBObject)BasicDBObject.parse("[{'hola': 'adeu'}, {'departament': [{'ambit': 'just', 'name': 'ts'}]}]");


有任何想法吗?

最佳答案

您可以使用它,因为没有BasicDBList :: parse方法

BsonArray parse = BsonArray.parse(json);
BasicDBList dbList = new BasicDBList();
dbList.addAll(parse);
DBObject dbObject = dbList;


BasicDBObject.parse(...)实际上用于解析对象,而不是解析由BasicDBList类重新呈现的数组。

09-26 12:31