String in JSON-Objekt umwandeln in Java
-
Verwenden von
JSONObject
zum Konvertieren einer Zeichenkette in ein JSON-Objekt in Java - Google Gson zum Konvertieren einer Zeichenkette in ein JSON-Objekt in Java verwenden
-
Verwenden von
Jackson
zum Konvertieren einer Zeichenkette in ein JSON-Objekt
In diesem Tutorial werden wir besprechen, wie man einen String in ein JSON-Objekt in Java konvertiert. Es stehen verschiedene Bibliotheken zur Verfügung, um diese Aufgabe zu erfüllen.
Verwenden von JSONObject
zum Konvertieren einer Zeichenkette in ein JSON-Objekt in Java
JSONObject
kann eine Zeichenkette in ein Map-ähnliches Objekt parsen. Es speichert ungeordnete Schlüssel-Werte-Paare. Die JSON-Java-Bibliothek, allgemein bekannt als org.json
, wird hier mit der erforderlichen Maven-Abhängigkeit verwendet. Die von uns verwendete Maven-Abhängigkeit ist unten angegeben.
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20201115</version>
</dependency>
Um einen JSON-String in ein JSONObject
zu parsen, übergeben wir den String an den Konstruktor wie unten gezeigt.
import org.json.JSONException;
import org.json.JSONObject;
public class StringToJsonObject {
public static void main(String[] args) {
try {
String str = "{\"name\":\"John\",\"age\":\"30\"}";
JSONObject jsonObject = new JSONObject(str);
System.out.println("OBJECT : " + jsonObject.toString());
} catch (JSONException err) {
System.out.println("Exception : " + err.toString());
}
}
}
Ausgabe:
OBJECT : {"age":"30","name":"John"}
Google Gson zum Konvertieren einer Zeichenkette in ein JSON-Objekt in Java verwenden
Google Gson ist eine Java-Bibliothek zur Serialisierung/Deserialisierung von Java-Objekten in JSON oder umgekehrt. Sie kann auch verwendet werden, um einen Java-String in sein entsprechendes JSON-Objekt zu konvertieren.
Die Maven-Abhängigkeit, die für diese Bibliothek benötigt wird, ist unten angegeben.
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
In diesem Code erstellen wir zunächst eine Instanz von Gson unter Verwendung des GsonBuilders, indem wir dessen Methode create()
aufrufen. Wir können auch verschiedene Konfigurationseinstellungen für den builder
aktivieren. Wie unten gezeigt, verwenden wir seine Methode setPrettyPrinting()
. Wie der Name schon sagt, druckt sie die JSON-Ausgabe hübsch aus.
Später verwenden wir die fromJson
-Methode von Gson Object, die den JSON-String in das User
-Objekt parst. Die Methode toJson()
verwendet Gson, um das User
-Objekt zurück in den JSON-String zu konvertieren. Somit wird der String str
mit Hilfe der Gson-Bibliothek in ein JSON-Objekt umgewandelt.
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonIOException;
public class StringToJsonObject {
public static void main(String[] args) {
try {
String str = "{\"name\":\"John\", \"age\":21 , \"place\":\"Nevada\"}";
GsonBuilder builder = new GsonBuilder();
builder.setPrettyPrinting();
Gson gson = builder.create();
User user = gson.fromJson(str, User.class);
System.out.println(user.ShowAsString());
str = gson.toJson(user);
System.out.println("User Object as string : " + str);
} catch (JsonIOException err) {
System.out.println("Exception : " + err.toString());
}
}
}
class User {
public String name;
public int age;
public String place;
public String ShowAsString() {
return "User [" + name + ", " + age + ", " + place + "]";
}
}
Ausgabe:
User [John, 21, Nevada]
User Object as string : {
"name": "John",
"age": 21,
"place": "Nevada"
}
Verwenden von Jackson
zum Konvertieren einer Zeichenkette in ein JSON-Objekt
Jackson ist auch bekannt als die Java JSON-Bibliothek
. Der ObjectMapper
wird verwendet, um JSON in Java Objects oder Java Objects in JSON zu mappen. Die für diese Bibliothek verwendete Maven-Abhängigkeit ist unten dargestellt.
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.3</version>
</dependency>
Der Jackson hat ein eingebautes Baummodell zur Darstellung von JSON-Objekten. JsonNode
ist die Klasse, die das Baummodell repräsentiert. Die ObjectMapper-Instanz mapper
parst JSON in ein JsonNode
-Baummodell durch den Aufruf von readTree()
.
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class StringToJsonObject {
public static void main(String[] args) {
String json_str = "{\"name\":\"John\", \"age\":21 , \"place\":\"Nevada\"}";
ObjectMapper mapper = new ObjectMapper();
try {
JsonNode node = mapper.readTree(json_str);
String name = node.get("name").asText();
String place = node.get("age").asText();
System.out.println("node" + node);
System.out.println("name: " + name + ", place: " + place);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
}
Ausgabe:
node{"name":"John","age":21,"place":"Nevada"}
name: John, place: 21
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInVerwandter Artikel - Java String
- So führen Sie die Konvertierung von String in String-Array in Java durch
- Wie entferne ich eine Unterzeichenkette aus einer Zeichenkette in Java
- So konvertieren Sie Byte-Array in Hex-String in Java
- Wie man Java-String in Byte konvertiert
- Generieren Sie eine zufällige Zeichenkette in Java
- Die Swap-Methode in Java