Maison >Java >javaDidacticiel >Comment convertir des chaînes JSON en cartes avec Jackson JSON ?

Comment convertir des chaînes JSON en cartes avec Jackson JSON ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-30 16:59:26781parcourir

How to Convert JSON Strings to Maps with Jackson JSON?

Conversion de chaînes JSON en cartes avec Jackson JSON

Jackson JSON est une bibliothèque Java populaire permettant de convertir des chaînes JSON en diverses structures de données. Cependant, si vous rencontrez une erreur d'affectation non vérifiée lors de la tentative de conversion de JSON en Map pourrait être frustrant.

Pour résoudre ce problème, suivez ces étapes :

  1. Utilisez TypeReference :

    <code class="java">TypeReference<HashMap<String, String>> typeRef
            = new TypeReference<HashMap<String, String>>() {};
    
    HashMap<String, String> propertyMap = mapper.readValue(properties, typeRef);</code>
  2. Utilisez JsonNode générique :

    <code class="java">JsonNode rootNode = mapper.readTree(properties);
    
    if (rootNode.isObject()) {
        Map<String, String> propertyMap = new HashMap<>();
        rootNode.fields().forEachRemaining(field -> propertyMap.put(field.getKey(), field.getValue().asText()));
    }</code>

Pour la conversion Java JSON native, vous pouvez explorer JSON.org. De plus, voici comment obtenir une fonctionnalité de décodage JSON similaire dans Jackson :

<code class="java">ObjectNode albumList = mapper.createObjectNode();

ArrayNode albums = mapper.createArrayNode();
albums.add(mapper.createObjectNode().put("title", "Album 1"));
albums.add(mapper.createObjectNode().put("title", "Album 2"));

albumList.put("albums", albums);

System.out.println(albumList);</code>

Cela génère un objet JSON avec un tableau d'albums, offrant la même fonctionnalité que le json_decode($str) de PHP.

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!

Déclaration:
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