Maison > Java > javaDidacticiel > le corps du texte

Comment convertir des données Map et JSON vers et depuis Java ?

PHPz
Libérer: 2023-04-27 15:40:08
avant
3391 Les gens l'ont consulté

map to JSON string

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}
    }
}
Copier après la connexion

JSON string to JSON object

        /* 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"}
Copier après la connexion

Map to JSON object

Il ressort des deux conversions ci-dessus que la map est d'abord convertie en une chaîne JSON, puis la chaîne JSON est convertie en un Objet JSON

        /*Map转JSON对象常用 */
        JSONObject JSONObj = JSONObject.parseObject(JSON.toJSONString(testMap));
        System.out.println("JSONObj:" + JSONObj);
//      打印的结果是:        JSONObj:{"str1":"fu","str2":"ck"}
Copier après la connexion

Chaîne JSON en Map

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

Objet JSON en Map

En fait, l'objet json est d'abord converti en chaîne json, la chaîne json est ensuite convertie en map

        /*JSON对象转map常用*/
        Map<String,Object> jsonToMap =  JSONObject.parseObject(jsonObject.toJSONString());
        System.out.println("jsonToMap:"+jsonToMap);
//      打印的结果是:        jsonToMap:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}
Copier après la connexion

Objet JSON en chaîne JSON

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

Selon la conversion ci-dessus, ce n'est pas difficile à faire Pour montrer la relation entre les trois

Comment convertir des données Map et JSON vers et depuis Java ?

Afin de faciliter la mémoire, vous pouvez changer votre façon de penser,

Lors de la conversion de Map en jsonObject, Map est le sujet et JSON représente Map [abréviation, JSON représente Map];

conversion jsonObject Lorsque Map, jsonObject est le sujet, et jsonObject représente toujours JSONObject [abréviation, je me représente]

La différence entre Map et JSON, je ne connais que la différence entre "= " et ":".

        /* 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"}
Copier après la connexion

Il ressort des résultats d'impression que Map est "=" et jsonObject est ":",

Lequel utiliser dépend de la situation réelle.

Touches de raccourci de la fonction IDÉE

Recherche globale : Ctrl+H

Recherche par nom de fichier : Ctrl+Shift+R/T

Recherche dans une certaine classe : Ctrl + F

Ajouter un commentaire【/**/】:Ctrl+Shift+/[Utiliser deux fois pour libérer le commentaire]

【//】:Ctrl+/ [Si utilisé deux fois, le commentaire sera publié]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!