gpt4 book ai didi

java - 修剪从 mongoDB 收到的 json 中的双引号

转载 作者:行者123 更新时间:2023-11-29 08:12:26 31 4
gpt4 key购买 nike

我是第一次使用 JSON 和 MongoDb。所以当我插入 Mongodb 并检索结果时,我得到的值为

{ "_id" : { "$oid" : "4e67eb04b475e7c236a0c82c"} , "database" : "mkyongDB" , "table" : "hosting" , "detail" : { "records" : 99 , "index" : "vps_index1" , "active" : "true"}}

当我提取“数据库”的值时,我得到的值为

"mykongDB"

显示双引号。每次从 JSON 中提取值时,我都必须删除双引号。这是 JSON 或 MongoDB 的行为方式还是我遗漏了什么..

我在 java 中使用 mongo 驱动程序检索值的代码

public DBObject find(String key,String value){
BasicDBObject query = new BasicDBObject(key,value);
return collection.findOne(query);
}

我从 JSON 中提取值的方式是

    DBObject dboject = client.find("database", "mkyongDB");
System.out.println(dboject);
JsonNode node = mapper.readTree(dboject.toString());
JsonNode innerNode = ((ObjectNode)node).get("_id");
System.out.println(innerNode);
String objectId = innerNode.get("$oid").toString();

我正在使用 jackson JSON 解析器

怎么了?我不想每次提取值时都删除双引号。

谢谢

最佳答案

双引号似乎没有作为字符串的一部分存储在 Mongo 字段中。如果是,JSON 输出将如下所示:

{ "database" : "\"mkyongDB\"" }

所以,这可能是 JSON 解析方式的结果。

Java 驱动程序是否将 JSON 反序列化为 DBObject 类?也许您通过调用类似 dboject.get("database") 并将结果转换为字符串来访问该字段?

还值得查看 Java Language Center ,有大量指向 POJO 映射的教程、库和框架的链接,这些链接可能会让生活更轻松。

关于java - 修剪从 mongoDB 收到的 json 中的双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7341324/

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