问题:从 LinkedHashMap 转换为 Json 字符串

我正在使用 Jongo 与 Mongo 一起工作,当我进行查询时,我收到LinkedHashMap作为结果。

Iterator one = (Iterator) friends.find(query).projection("{_id:0}").as(Object.class);
while (one.hasNext()) {
    LinkedHashMap data = new LinkedHashMap();
    data = (LinkedHashMap) one.next();
    String content = data.toString();
}

问题是如果json是{"user":"something"}内容将是{user=something},它不是json只是HashMap中的toString方法。

我怎样才能得到原来的JSON?

我没有class来映射response并且它不是创建map类的解决方案,这就是我使用Object.class.的原因

解答

如果您可以访问一些 JSON 库,那似乎就是要走的路。

如果使用 org.json 库,请使用public JSONObject(java.util.Map map):

String jsonString = new JSONObject(data).toString()

如果是Gson,使用@hellboy提到的gson.toJson()方法:

String jsonString = new Gson().toJson(data, Map.class);
Logo

MongoDB社区为您提供最前沿的新闻资讯和知识内容

更多推荐