如何将 JSON 对象转换为 DBObject?

我有一个 JSON 对象 obj,我想将它存储到 MongoDB 中:


JSONObject obj = new JSONObject();

obj.put("title", obj1.title);

//For rules:

Map m = new LinkedHashMap();

// for rules, first create JSONArray  

JSONArray ja = new JSONArray(); 


m = new LinkedHashMap();

m.put("right_connective", "&&");

m.put("attribute", "amount");

m.put("operator", "<=");

m.put("value", obj1.amount);

m.put("rank", 1);

m.put("encapsulated", "false");

ja.add(m);


m = new LinkedHashMap();

m.put("left_connective", "&&");

m.put("right_connective", "&&");

m.put("attribute", "project");

m.put("operator", "==");

m.put("value", obj1.project);

m.put("rank", 2);

m.put("encapsulated", "false");

ja.add(m);


m = new LinkedHashMap();

m.put("left_connective", "&&");

m.put("right_connective", "&&");

m.put("attribute", "type");

m.put("operator", "==");

m.put("value", obj1.type);

m.put("rank", 3);

m.put("encapsulated", "false");

ja.add(m);


m = new LinkedHashMap();

m.put("left_connective", "&&");

m.put("attribute", "car");

m.put("operator", "==");

m.put("value", obj1.car);

m.put("rank", 4);

m.put("encapsulated", "false");

ja.add(m);


obj.put("rule", ja);




Document doc = Document.parse( obj.toString() );

BasicDBObject dbObject = mapper.readValue(obj, BasicDBObject.class);

collection.insert(dbObject);

我收到“映射器无法解析为类型”的错误。我需要包含哪个导入语句?否则,你能建议替代方法吗?我不想走 MongoDocument 路线,因为 insertOne() 函数在写入数据库时跳过了一些文档。


qq_笑_17
浏览 345回答 2
2回答

侃侃尔雅

如果您正在使用,则不需要映射器org.json.JSONObject:&nbsp;DBObject object = (DBObject) JSON.parse(obj.toString());&nbsp;collection.insert(object)

哔哔one

我相信您正在使用如下所示的 jackson.Create ObjectMapper 来解决“映射器无法解析为类型”import com.fasterxml.jackson.databind.ObjectMapper; //import statementObjectMapper mapper = new ObjectMapper(); //initialization
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java