从LinkedHashMap转换为Json String

2022-09-02 09:05:20

我正在使用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}jsontoStringHashMap

我如何获得原件?JSON

我没有一个映射,它不是一个解决方案创建一个类,这就是为什么我使用一个classresponsemapObject.class.


答案 1

如果您有权访问某些JSON库,那么似乎就是这样。

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

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

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

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

答案 2

您可以使用Google的Gson库将任何对象转换为JSON。下面是一个将LinkedHashMap转换为json的示例 -

Gson gson = new Gson();
String json = gson.toJson(map,LinkedHashMap.class);