gpt4 book ai didi

java - 如何将 JSON 对象转换为 DBObject?

转载 作者:行者123 更新时间:2023-11-30 06:01:10 24 4
gpt4 key购买 nike

我有一个 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() 函数在写入数据库时​​会跳过一些文档。

最佳答案

如果您使用org.json.JSONObject,则不需要映射器:

 DBObject object = (DBObject) JSON.parse(obj.toString());
collection.insert(object)

关于java - 如何将 JSON 对象转换为 DBObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52254519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com