JSON en Java et Jackson Partie 1 Renvoyer JSON à partir du serveur

en premier

Revenons sur la gestion de JSON avec Jackson en Java. Dans le cas de mon projet, Java est presque un système Web, et la coopération entre les servlets et JavaScript est importante. Tout d'abord, j'ai essayé de renvoyer JSON depuis le serveur cette fois. A l'exception de l'implémentation dans Servlet, la plupart des références sont détournées.

environnement

La source

Création de classe Java pour JSON

Tout d'abord, afin de convertir en JSON, il est nécessaire de créer une classe Java pour y stocker l'objet. Les propriétés de id (type de nombre), de nom (de type chaîne) et de données (tableau) sont préparées comme suit. La clé est l'annotation de @JsonProperty. Sans cela, une exception se produira.

JsonBean.java


package servletTest;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;

public class JsonBean {

	@JsonProperty("id")
	private int id;

	@JsonProperty("name")
	private String name;

	@JsonProperty("datas")
	private List<String> datas;

	public void setId(int id) {
		this.id = id;
	}

	public void setName(String name) {
		this.name = name;
	}

	public void setDatas(List<String> datas) {
		this.datas = datas;
	}
}

Créer un servlet

Créez un objet à l'aide de la classe Java créée dans la section précédente, convertissez-le en chaîne Json avec la méthode writeValueAsString de la classe ObjectMapper et renvoyez-le au client.

SetvletTest.java


package servletTest;

import java.io.IOException;
import java.util.List;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;


//Référence https://itsakura.com/java-jackson

@WebServlet("/helloworld")
public class ServletTest extends HttpServlet {
    private static final long serialVersionUID = 1L;
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

    	//Définir la valeur dans l'objet Java
    	JsonBean jsonBean = new JsonBean();
    	jsonBean.setId(1);
    	jsonBean.setName("kimisyo");
    	List<String> datas = new ArrayList<>();
    	datas.add("Programmer");
    	datas.add("Data Scientist");
    	jsonBean.setDatas(datas);

    	ObjectMapper mapper = new ObjectMapper();
    	try {
    		//Convertir d'un objet Java en JSON
    		String testJson = mapper.writeValueAsString(jsonBean);
    		//Sortie JSON
    		response.getWriter().write(testJson);
    	} catch (JsonProcessingException e) {
    		e.printStackTrace();
    	}
    }
}

Résultat d'exécution

Lorsque ce qui précède est exécuté dans Eclipse, la chaîne de caractères suivante s'affiche dans le navigateur.

{"id":1,"name":"kimisyo","datas":["Programmer","Data Scientist"]}

en conclusion

À l'origine, il serait préférable de définir Content-Type également, mais je pense que je devrai le faire à partir de la prochaine fois, alors je l'ai reporté. À partir de la prochaine fois (le cas échéant), nous prévoyons de passer aux sujets suivants.

référence

Recommended Posts

JSON en Java et Jackson Partie 1 Renvoyer JSON à partir du serveur
JSON en Java et Jackson Part ③ Incorporer JSON dans HTML et l'utiliser à partir de JavaScript
JSON avec Java et Jackson Part 2 XSS mesures
Convertir JSON et YAML en Java (en utilisant Jackson et SnakeYAML)
Convertir l'énumération Java et JSON vers et depuis Jackson
[Développement Android] Obtenez des images du serveur avec Java et définissez-les dans ImageView! !!
Corrigez le code de caractère en Java et lisez à partir de l'URL
Kick ShellScript sur le serveur depuis Java
Obtenir l'historique du serveur Zabbix en Java
Exemple de code pour la sérialisation et la désérialisation des énumérations Java Enum et JSON dans Jackson
Analyser et objectiver JSON à l'aide de l'annotation @JsonProperty de la bibliothèque Java Jackson
Concernant les modificateurs transitoires et la sérialisation en Java
[Java] La partie déroutante de String et StringBuilder
Capture et sauvegarde de l'installation de sélénium en Java
[Java] Affiche le résultat de ffprobe -show_streams dans JSON et mappe-le à un objet dans Jackson
Générer OffsetDateTime à partir de Clock et LocalDateTime en Java
[Deep Learning from scratch] en Java 1. Pour le moment, différenciation et différenciation partielle
Lire JSON en Java
POST JSON en Java
Créer JSON en Java
[Android / Java] Transition d'écran et traitement de retour par fragments
Langage Java du point de vue de Kotlin et C #
Classes et instances Java comprises dans la figure
Utilisation de la base de données (SQL Server 2014) à partir d'un programme Java 04/01/2018
Soustraire les constantes Enum des chaînes et des valeurs en Java
[Java] Convertir JSON en Java et Java en JSON-Comment utiliser GSON et Jackson-
Trouvez la classe d'adresse et le type d'adresse à partir de l'adresse IP avec Java
[Java] Communication JSON avec jackson
En Java, je souhaite couper plusieurs caractères spécifiés uniquement du début et de la fin.
Java et Iterator Part 1 External Iterator Edition
Implémentez l'interface Java dans la classe JRuby et appelez-la depuis Java
Ce que j'ai appris en Java (partie 4) Branchement conditionnel et répétition
Apache Hadoop et Java 9 (partie 1)
Créer une méthode pour renvoyer le taux de taxe en Java
[Java] [jackson] Correspond à la virgule de fin (virgule de fin) lors de l'analyse de JSON.
Créez votre propre serveur simple avec Java et comprenez HTTP
POST Json en Java ~ HttpURLConnection ~
Pensez aux différences entre les fonctions et les méthodes (en Java)
Sérialisation / désérialisation Json dans Java 1.4
Obtenir des attributs et des valeurs à partir d'un fichier XML en Java
Implémentons la condition que la circonférence et l'intérieur de la forme Ougi soient inclus dans Java [Partie 2]
Implémentons la condition que la circonférence et l'intérieur de la forme Ougi soient inclus dans Java [Partie 1]
Installez le plugin memcached sur MySQL et accédez à partir de Java
Ce que j'ai appris en Java (partie 1) Flux de développement Java et présentation
[Java] Obtenez les dates des derniers lundi et dimanche dans l'ordre
Je veux revenir à l'écran précédent avec kotlin et java!
De Java naissant (3 ans) à Node.js (4 ans). Et l'impression de retourner à Java
[Android] Convertissez Map en JSON à l'aide de GSON avec Kotlin et Java
[Java] Comment convertir du type String en type Path et obtenir le chemin
Accéder à l'interface réseau avec Java
Devinez le code de caractère en Java
Exemple d'encodage et de décodage en Java
Spécifiez l'emplacement Java dans eclipse.ini
Arguments Java, valeurs de retour et surcharges
Décompressez le fichier zip en Java
Classe StringBuffer et StringBuilder en Java
Analyser l'analyse syntaxique de l'API COTOHA en Java
Comprendre equals et hashCode en Java
Traitement serveur avec Java (Introduction partie 1)