当前位置:  开发笔记 > 编程语言 > 正文

从LinkedHashMap转换为Json String

如何解决《从LinkedHashMap转换为JsonString》经验,为你挑选了2个好方法。

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

我没有一个类映射响应,它不是一个解决方案创建一个map类,这就是我使用Object.class的原因.



1> ethanbustad..:

如果您可以访问某些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);


对于JSONObject(),仅适用于Map !(http://stackoverflow.com/questions/12155800/how-to-convert-hashmap-to-json-object-in-java)

2> hellboy..:

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

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

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有