【问题标题】:Convert a DBObject to JSON将 DBObject 转换为 JSON
【发布时间】:2015-04-14 17:34:45
【问题描述】:

我想知道如何将 DBObject 解析为 JSON,我正在使用 Jersey 框架使用 Java 创建一个安静的服务,我想从我的 MongoDB 加载数据并将其转换为 JSON 格式并最终显示在我的网页中. 这是我尝试将包含要显示的数据的 DBObject 转换为 JSON 对象的方法:

  DBCursor cursor = dbUser.find();
  JSON json = new JSON();
  String dataUser = json.serialize(cursor);

但我得到的是 MongoDB 格式而不是 JSON,请问您有什么想法吗?

【问题讨论】:

  • 你试过 DBObject.toString 方法吗?
  • 是的,但它返回相同的 MongoDb 格式...
  • MongoDb 格式是什么意思。这不符合 JSON 标准吗?
  • 这是一个 MongoDB 格式 { "_id" : { "$oid" : "id"} , "number" : 1 , "name" : "mkyong-1"}
  • 其实这也是一个合法的JSON字符串!你甚至可以在jsonlint.com 上验证它

标签: java json mongodb jersey


【解决方案1】:

//将光标分配给DbObject

DbObject 结果= cursor.next();

//此行会将 DbObject 转换为 JSONObject

JSONObject 输出 = 新 JSONObject(JSON.serialize(result));

【讨论】:

  • 回答问题而不解释为什么是答案对原始发帖人没有多大帮助。
  • 确切的代码是:JSONObject output = new JSONObject(new JSON().serialize(result));
  • 这对我不起作用,填充空值。
【解决方案2】:

.toString() 有什么问题?

DBObject printerVersion = mainDao.getPrinterVersion();
printerVersion.removeField("_id");
printerVersion.removeField("isDeleted");
return printerVersion .toString();

【讨论】:

    猜你喜欢
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多