ホームページ >Java >&#&チュートリアル >Java で Map データと JSON データを相互に変換するにはどうすればよいですか?

Java で Map データと JSON データを相互に変換するにはどうすればよいですか?

PHPz
PHPz転載
2023-04-27 15:40:083459ブラウズ

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 オブジェクトへの

        /* 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"}

JSON オブジェクトへのマッピング

上記の 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

        /* JSON字符串转Map常用*/
        Map<String,Object> strMap =  JSONObject.parseObject(jsonStr);
        System.out.println("strMap:" + strMap);
//      打印的结果是:        strMap:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}

JSON オブジェクトを Map

実際には、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 文字列に変換

        //JSON对象转JSON字符串
        String jsonToStr = jsonObject.toJSONString();
        System.out.println("jsonToStr=>"+jsonToStr);
//      打印的结果是:       jsonToStr=>{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}

上記の変換に基づいて、3 つの ## 間の関係を理解するのは難しくありません。

Java で Map データと JSON データを相互に変換するにはどうすればよいですか?

#Map を jsonObject に変換する場合、Map が主語となり、JSON は Map [略称、JSON] を表します。 Map を表します];

jsonObject が Map に変換されるとき、jsonObject が主語であり、jsonObject は依然として JSONObject を表します [略語、私自身を表します]

Map と JSON の違い、私だけが知っています「=」と「:」の違いです。

        /* 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"}

印刷結果を見ると、Map は "=、jsonObject は ":" であることがわかります。

どちらを使用するかは実際の状況によって異なります。

IDEA 機能のショートカット キー

グローバル検索:

Ctrl

Hファイル名に基づいて検索: Ctrl

Shift R/T特定のカテゴリで検索: Ctrl

F追加コメント [/**/]: Ctrl

Shift /[コメントを解除するには 2 回使用します][//] : Ctrl

/[コメントを解除するには 2 回使用します]

以上がJava で Map データと JSON データを相互に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。