Convert from LinkedHashMap to Json String

前端 未结 4 1227
情歌与酒
情歌与酒 2020-12-15 23:40

I\'m Workin with Mongo using Jongo, when I do a query I receive a LinkedHashMap as result.

Iterator one = (Iterator) friends.find(query).project         


        
相关标签:
4条回答
  • 2020-12-16 00:15

    If you have access to some JSON library, it seems like that's the way to go.

    If using org.json library, use public JSONObject(java.util.Map map):

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

    If Gson, use the gson.toJson() method mentioned by @hellboy:

    String jsonString = new Gson().toJson(data, Map.class);
    
    0 讨论(0)
  • 2020-12-16 00:16

    I resolved the problem using the following code:

        Iterator one = (Iterator) friends.find(query).projection("{_id:0}").as(Object.class);
        while (one.hasNext()) {
            Map data= new HashMap();
    
            data= (HashMap) one.next();
            JSONObject d = new JSONObject();
            d.putAll(data);
            String content=d.toString();
        }
    
    0 讨论(0)
  • 2020-12-16 00:19

    You can use Gson library from Google to convert any object to JSON. Here is an example to convert LinkedHashMap to json -

    Gson gson = new Gson();
    String json = gson.toJson(map,LinkedHashMap.class);
    
    0 讨论(0)
  • 2020-12-16 00:29

    One of the com.mongodb.BasicDBObject constructors takes a Map as input. Then you just have to call the toString() on the BasicDBObject object.

    Iterator one = (Iterator) friends.find(query).projection("{_id:0}").as(Object.class);
        while (one.hasNext()) {
            LinkedHashMap data= new LinkedHashMap();
    
            data= (LinkedHashMap) one.next();
    
            com.mongodb.BasicDBObject bdo = new com.mongodb.BasicDBObject(data);    
            String json = bdo.toString();
        }
    
    0 讨论(0)
提交回复
热议问题