我有一个 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() 函数在写入数据库时跳过了一些文档。
2 回答
侃侃尔雅
TA贡献1801条经验 获得超16个赞
如果您正在使用,则不需要映射器org.json.JSONObject:
DBObject object = (DBObject) JSON.parse(obj.toString());
collection.insert(object)
哔哔one
TA贡献1854条经验 获得超8个赞
我相信您正在使用如下所示的 jackson.Create ObjectMapper 来解决“映射器无法解析为类型”
import com.fasterxml.jackson.databind.ObjectMapper; //import statement
ObjectMapper mapper = new ObjectMapper(); //initialization
添加回答
举报
0/150
提交
取消