ホームページ >Java >&#&チュートリアル >Java で Map データと JSON データを相互に変換するにはどうすればよいですか?
package com.hanfan.test;// HANFAN自动读取PC名字,也可以写死这个名字 import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import java.util.HashMap; import java.util.Map; /** * @Author HANFAN * @Date 2022/4/21 16:01 * @Version 1.0 */ public class mapAndJsonCast { public static void main(String[] args) { /* map转化JSON字符串常用 */ Map testMap = new HashMap<>(); testMap.put("str1","fu"); testMap.put("str2","ck"); String str = JSON.toJSONString(testMap); System.out.println("testMap的值:" + testMap); // 打印的结果是: testMap的值:{str1=fu, str2=ck} } }
/* JSON字符串转JSON对象常用*/ String jsonStr = "{\"str3\":\"zhangsan\",\"str4\":\"lisi\",\"str5\":\"wangwu\",\"str6\":\"maliu\"}"; JSONObject jsonObject = JSONObject.parseObject(jsonStr); System.out.println("jsonObject:" + jsonObject); // 打印的结果是: jsonObject:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}
上記の 2 つの変換から、map が次のように変換されることがわかります。 JSON を最初に String にし、次に JSON 文字列を JSON オブジェクトに変換します
/*Map转JSON对象常用 */ JSONObject JSONObj = JSONObject.parseObject(JSON.toJSONString(testMap)); System.out.println("JSONObj:" + JSONObj); // 打印的结果是: JSONObj:{"str1":"fu","str2":"ck"}
/* JSON字符串转Map常用*/ Map<String,Object> strMap = JSONObject.parseObject(jsonStr); System.out.println("strMap:" + strMap); // 打印的结果是: strMap:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}
実際には、json オブジェクトが最初です。 JSON 文字列に変換され、文字列、JSON 文字列に変換され、その後マップ
/*JSON对象转map常用*/ Map<String,Object> jsonToMap = JSONObject.parseObject(jsonObject.toJSONString()); System.out.println("jsonToMap:"+jsonToMap); // 打印的结果是: jsonToMap:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}
//JSON对象转JSON字符串 String jsonToStr = jsonObject.toJSONString(); System.out.println("jsonToStr=>"+jsonToStr); // 打印的结果是: jsonToStr=>{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}
上記の変換に基づいて、3 つの ## 間の関係を理解するのは難しくありません。
#Map を jsonObject に変換する場合、Map が主語となり、JSON は Map [略称、JSON] を表します。 Map を表します]; jsonObject が Map に変換されるとき、jsonObject が主語であり、jsonObject は依然として JSONObject を表します [略語、私自身を表します]Map と JSON の違い、私だけが知っています「=」と「:」の違いです。/* map转化JSON字符串常用 */ Map印刷結果を見ると、Map は "=、jsonObject は ":" であることがわかります。 どちらを使用するかは実際の状況によって異なります。 IDEA 機能のショートカット キーグローバル検索:testMap = new HashMap<>(); testMap.put("str1","fu"); testMap.put("str2","ck"); String str = JSON.toJSONString(testMap); System.out.println("testMap的值:" + testMap); // 打印的结果是: testMap的值:{str1=fu, str2=ck} /* JSON字符串转JSON对象常用*/ String jsonStr = "{\"str3\":\"zhangsan\",\"str4\":\"lisi\",\"str5\":\"wangwu\",\"str6\":\"maliu\"}"; JSONObject jsonObject = JSONObject.parseObject(jsonStr); System.out.println("jsonObject:" + jsonObject); // 打印的结果是: jsonObject:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}
Hファイル名に基づいて検索: Ctrl
Shift R/T特定のカテゴリで検索: Ctrl
F追加コメント [/**/]: Ctrl
Shift /[コメントを解除するには 2 回使用します][//] : Ctrl
/[コメントを解除するには 2 回使用します]
以上がJava で Map データと JSON データを相互に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。