一尘不染

从LinkedHashMap转换为Json String

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"}content
{user=something},它将不是from的json唯一toString方法HashMap

我如何获得原件JSON

我没有class要映射的地图,response也不是创建map类的解决方案,这就是为什么我使用Object.class.


阅读 1597

收藏
2020-07-27

共1个答案

一尘不染

如果您可以访问某些JSON库,那似乎就是这样。

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

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

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

String jsonString = new Gson().toJson(data, Map.class);
2020-07-27