Rumah >Java >javaTutorial >Bagaimana untuk Mengekstrak Nilai Tertentu daripada Rentetan JSON Menggunakan Gson di Java?

Bagaimana untuk Mengekstrak Nilai Tertentu daripada Rentetan JSON Menggunakan Gson di Java?

Patricia Arquette
Patricia Arquetteasal
2024-12-22 15:30:12441semak imbas

How to Extract a Specific Value from a JSON String Using Gson in Java?

Menghuraikan JSON dengan Gson untuk Java

Objektif:
Menghuraikan data JSON yang disimpan sebagai String menggunakan Pustaka Google Gson dan ekstrak nilai tertentu ("Hello world") daripada JSON objek.

Masalah:

Memandangkan data JSON berikut:

{
 "data": {
  "translations": [
   {
    "translatedText": "Hello world"
   }
  ]
 }
}

dan kelas Java dengan kaedah penghuraian:

public class JsonParsing {

   public void parse(String jsonLine) {

      // Extract the string "Hello world" from the JSON

   }

}

Penyelesaian:

Untuk menghuraikan JSON, anda boleh menggunakan JsonParser Gson untuk mendapatkan JsonElement, yang kemudiannya anda boleh hantar ke JsonObject. Berikut ialah kodnya:

public String parse(String jsonLine) {
    JsonElement jelement = new JsonParser().parse(jsonLine);
    JsonObject jobject = jelement.getAsJsonObject();
    jobject = jobject.getAsJsonObject("data");
    JsonArray jarray = jobject.getAsJsonArray("translations");
    jobject = jarray.get(0).getAsJsonObject();
    String result = jobject.get("translatedText").getAsString();
    return result;
}

Kod ini menavigasi hierarki objek JSON menggunakan kaedah getAsJsonObject dan getAsJsonArray dan akhirnya mendapatkan semula nilai rentetan yang dikehendaki, "Hello world", yang disimpan dalam sifat "translatedText".

Dengan memanfaatkan struktur data berkuasa yang disediakan oleh Gson, anda boleh menghuraikan dan akses elemen data tertentu daripada respons JSON yang kompleks.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Nilai Tertentu daripada Rentetan JSON Menggunakan Gson di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn