


Understand the serialization and deserialization technology of JSON arrays in Java.
Understand the serialization and deserialization technology of JSON arrays in Java
In today's software development, data transmission and storage is a very common requirement. JSON (JavaScript Object Notation), as a lightweight data exchange format, is widely used in various programming languages. In Java, we often need to serialize and deserialize JSON for use in network transmission or storage. For arrays in JSON, Java provides some convenient techniques for operations.
In Java, there are many libraries that can be used for JSON serialization and deserialization. This article will take the commonly used Jackson library as an example to introduce how to serialize and deserialize JSON arrays.
- Serialization of JSON array
During the serialization process, we convert the Java object into a string in JSON format. For serialization of JSON array, we need to convert Java array or collection object to JSON format array.
First, we need to introduce dependencies on the Jackson library. You can use maven to manage dependencies:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.4</version> </dependency>
Next, we define a Java class to represent a Person object:
public class Person { private String name; private int age; // getter and setter methods }
Then, we create an array containing Person objects and use the ObjectMapper class to convert it into a string in JSON format:
import com.fasterxml.jackson.databind.ObjectMapper; import java.util.Arrays; public class JsonArraySerializationExample { public static void main(String[] args) throws Exception { Person person1 = new Person(); person1.setName("Alice"); person1.setAge(25); Person person2 = new Person(); person2.setName("Bob"); person2.setAge(30); Person[] persons = {person1, person2}; ObjectMapper objectMapper = new ObjectMapper(); String json = objectMapper.writeValueAsString(persons); System.out.println(json); } }
Run the above code and the output is as follows:
[{"name":"Alice","age":25},{"name":"Bob","age":30}]
You can see At this point, we successfully converted the array of Person objects into a JSON-formatted string.
- Deserialization of JSON array
During the deserialization process, we convert the JSON-formatted string into a Java object. For deserialization of JSON array, we convert JSON array to Java array or collection object.
We use the above Person class as an example and create a JSON-formatted string containing the Person object. Then use the ObjectMapper class to convert it into an array of Person objects:
import com.fasterxml.jackson.databind.ObjectMapper; import java.util.Arrays; public class JsonArrayDeserializationExample { public static void main(String[] args) throws Exception { String json = "[{"name":"Alice","age":25},{"name":"Bob","age":30}]"; ObjectMapper objectMapper = new ObjectMapper(); Person[] persons = objectMapper.readValue(json, Person[].class); for (Person person : persons) { System.out.println(person.getName() + ", " + person.getAge()); } } }
Run the above code, the output is as follows:
Alice, 25 Bob, 30
As you can see, we successfully converted the JSON formatted string into Array of Person objects.
Summary
This article introduces the serialization and deserialization technology of JSON arrays in Java. By using the Jackson library, we can easily convert an array of Java objects into a JSON-formatted string for use in network transmission or storage. At the same time, we can also convert JSON format strings into Java object arrays to facilitate subsequent data operations. I hope this article will help you understand the serialization and deserialization technology of JSON arrays in Java.
The above is the detailed content of Understand the serialization and deserialization technology of JSON arrays in Java.. For more information, please follow other related articles on the PHP Chinese website!

The article discusses using Maven and Gradle for Java project management, build automation, and dependency resolution, comparing their approaches and optimization strategies.

The article discusses creating and using custom Java libraries (JAR files) with proper versioning and dependency management, using tools like Maven and Gradle.

The article discusses implementing multi-level caching in Java using Caffeine and Guava Cache to enhance application performance. It covers setup, integration, and performance benefits, along with configuration and eviction policy management best pra

The article discusses using JPA for object-relational mapping with advanced features like caching and lazy loading. It covers setup, entity mapping, and best practices for optimizing performance while highlighting potential pitfalls.[159 characters]

Java's classloading involves loading, linking, and initializing classes using a hierarchical system with Bootstrap, Extension, and Application classloaders. The parent delegation model ensures core classes are loaded first, affecting custom class loa


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 Linux new version
SublimeText3 Linux latest version

Atom editor mac version download
The most popular open source editor

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SublimeText3 Mac version
God-level code editing software (SublimeText3)