MongoDB:JSON 实用程序已弃用
MognoDB: JSON util is deprecated
到目前为止,我一直在使用此代码从 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'}]}]");
有什么想法吗?
这是无效的JSON:
[{k: 'v'},{o: 'p'}]
- 属性名称应该有引号。
- 引号应该是双引号 (
"
) 而不是单引号 ('
)。
这个例子也是无效的:
[{'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 class.
所代表的数组
到目前为止,我一直在使用此代码从 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'}]}]");
有什么想法吗?
这是无效的JSON:
[{k: 'v'},{o: 'p'}]
- 属性名称应该有引号。
- 引号应该是双引号 (
"
) 而不是单引号 ('
)。
这个例子也是无效的:
[{'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 class.
所代表的数组