JAVAにおけるJSOnObjectオブジェクトとMapオブジェクト間の相互変換


1.json文字列からMapオブジェクトに変換
例えばjson文字列:{"contend":[{"bid":"22","carid":"0"},{"bid":"22","carid":"0"},"result":100,"total":2}
次の直接コードを添付します.
//json   
String jsondata="{\"contend\":[{\"bid\":\"22\",\"carid\":\"0\"},{\"bid\":\"22\",\"carid\":\"0\"}],\"result\":100,\"total\":2}";
JSONObject obj= JSON.parseObject(jsondata);
//map  
Map data =new HashMap<>();
//    
 Iterator it =obj.entrySet().iterator();
 while (it.hasNext()) {
       Map.Entry entry = (Entry) it.next();
       data.put(entry.getKey(), entry.getValue());
 }
System.out.println("map  :"+data.toString());

次は出力内容です.
 {total=2, contend=[{"carid":"0","bid":"22"},{"carid":"0","bid":"22"}], result=100}
2.Mapオブジェクトからjson文字列に変換
//map  
Map data =new HashMap<>();
String x =JSONObject.toJSONString(data);
System.out.println("json   :"+x);

次は出力内容です.
{"total":2,"result":100,"contend":[{"carid":"0","bid":"22"},{"carid":"0","bid":"22"}]}