Java'da JSON Nasıl Ayrıştırılır?

JSON , JavaScript Nesne Gösterimi anlamına gelir. Verileri depolamak ve taşımak için kullanımı kolay ve hafif açık standart dosya biçimidir. Bu yazıda Java'da JSON'un nasıl ayrıştırılacağını göreceğiz. JSON-java, GSON ve json-simple gibi JSON Kitaplıklarını kullanacağız.

Java'da JSON Nasıl Ayrıştırılır?

Bugün Java'da bir JSON dizesini ayrıştırmak için üç json kitaplığı göreceğiz. Bunlar aşağıda listelenmiştir,

  1. JSON-Java
  2. GSON
  3. json-basit

Şimdi Java'da bir JSON'u ayrıştırmak için üç kitaplığın hepsinin birer birer örneğini göreceğiz.

JSON-Java kullanarak JOSN'yi Java'da ayrıştırma

JSON-java, Java için en basit JSON kitaplığından biridir.

JSONObjectBurada JSON-java kütüphanesinin sınıfını kullanacağız .

JSONObject string kabul eden bir yapıcıya sahiptir . Bir JSON dizesini ayrıştırmak için bu yapıcıyı kullanacağız.

JSON-java Docs'a başvurabilirsiniz .

Maven

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20201115</version>
</dependency>

  Gradle:

compile group: 'org.json', name: 'json', version: '20201115'

   

package com.coderolls.JSONExample;

import org.json.JSONArray;
import org.json.JSONObject;

/**
 * A program to parse JSON strin in Java using JSON-Java
 * @author Gaurav Kukade at coderolls.com
 */


public class ParseJSONUsingJSONJava {

        public static void main(String[] args) {
               
                String jsonString = "{"
                                + "  "name": "coderolls","
                                + "  "type": "blog","
                                + "  "address": {"
                                + "    "street": "1600 Pennsylvania Avenue NW","
                                + "    "city": "Washington","
                                + "    "state": "DC""
                                + "  },"
                                + "  "employees": ["
                                + "    {"
                                + "      "firstName": "John","
                                + "      "lastName": "Doe""
                                + "    },"
                                + "    {"
                                + "      "firstName": "Anna","
                                + "      "lastName": "Smith""
                                + "    },"
                                + "    {"
                                + "      "firstName": "Peter","
                                + "      "lastName": "Jones""
                                + "    }"
                                + "  ]"
                                + "}";
               
                System.out.println("Parsing the json string in java using JSON-Java......n");

                //add jsonString to the constructor
                JSONObject coderollsJSONObject = new JSONObject(jsonString);
               
                //now we can access the values
                String name = coderollsJSONObject.getString("name");
                System.out.println("Name: "+name+"n");
               
                //we can get the JSON object present as value of any key in the parent JSON
                JSONObject addressJSONObject = coderollsJSONObject.getJSONObject("address");
               
                //access the values of the addressJSONObject
                String street = addressJSONObject.getString("street");
                System.out.println("Street: "+street+"n");
               
               
                //we can get the json array present as value of any key in the parent JSON
                JSONArray employeesJSONArray = coderollsJSONObject.getJSONArray("employees");
                System.out.println("Printing the employess json array: n"+employeesJSONArray.toString()+"n");
               
                //we can get individual json object at an index from the employeesJSONArray
                JSONObject employeeJSONObject = employeesJSONArray.getJSONObject(0);
                String firstName = employeeJSONObject.getString("firstName");
                System.out.println("First Name of the employee at index 0: "+firstName);
        }
}

  ParseJSONUsingJSON.Java kodunu alın

JOSN'yi Java'da Gson kullanarak ayrıştırma

Gson, Java nesnelerini Google'da geliştirilen JSON'a seri hale getirmek ve seri durumundan çıkarmak için kullanılan açık kaynaklı bir Java kitaplığıdır.

Böylece bir JSON dizesini eşdeğer bir Java nesnesine dönüştürmek için kullanabiliriz.

Burada JsonObjectGson kütüphanesinin sınıfını kullanacağız.

JsonObject belgelerine başvurabilirsiniz .

Maven:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.6</version>
</dependency>

  Gradle:

compile group: 'com.google.code.gson', name: 'gson', version: '2.8.6'

 

 

package com.coderolls.JSONExample;

import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;

/**
 * A program to parse JSON strin in Java using Gson
 * @author Gaurav Kukade at coderolls.com
 */


public class ParseJSONUsingGSON {

        public static void main(String[] args) {

                //take json as string
                String jsonString = "{"
                                + "  "name": "coderolls","
                                + "  "type": "blog","
                                + "  "address": {"
                                + "    "street": "1600 Pennsylvania Avenue NW","
                                + "    "city": "Washington","
                                + "    "state": "DC""
                                + "  },"
                                + "  "employees": ["
                                + "    {"
                                + "      "firstName": "John","
                                + "      "lastName": "Doe""
                                + "    },"
                                + "    {"
                                + "      "firstName": "Anna","
                                + "      "lastName": "Smith""
                                + "    },"
                                + "    {"
                                + "      "firstName": "Peter","
                                + "      "lastName": "Jones""
                                + "    }"
                                + "  ]"
                                + "}";
                System.out.println("Parsing the json string in java using Gson......n");

                Gson gson = new Gson();
               
                //get json object from the json string
                JsonObject coderollsJsonObject = gson.fromJson(jsonString, JsonObject.class);
               
                //now we can access the values
                String name = coderollsJsonObject.get("name").getAsString();
                System.out.println("Name: "+name+"n");
               
                //we can get the JSON object present as value of any key in the parent JSON
                JsonObject addressJsonObject = coderollsJsonObject.get("address").getAsJsonObject();
               
                //access the values of the addressJSONObject
                String street = addressJsonObject.get("street").getAsString();
                System.out.println("Street: "+street+"n");
               
               
                //we can get the json array present as value of any key in the parent JSON
                JsonArray employeesJsonArray = coderollsJsonObject.get("employees").getAsJsonArray();
                System.out.println("Printing the employess json array: n"+employeesJsonArray.toString()+"n");
               
                //we can get individual json object at an index from the employeesJSONArray
                JsonObject employeeJsonObject = employeesJsonArray.get(0).getAsJsonObject();
                String firstName = employeeJsonObject.get("firstName").getAsString();
                System.out.println("First Name of the employee at index 0: "+firstName);
        }
}

  ParseJSONUsingGSON.java kodunu alın

Java'da json-simple kullanarak JOSN'yi ayrıştırma

JSON.simple, JSON için basit bir Java araç takımıdır. JSON metnini kodlamak veya kodunu çözmek için JSON.simple kullanabilirsiniz.

Maven:

<dependency>
    <groupId>com.googlecode.json-simple</groupId>
    <artifactId>json-simple</artifactId>
    <version>1.1.1</version>
</dependency>

  Gradle:

compile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'

 

package com.coderolls.JSONExample;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

/**
 * A program to parse JSON strin in Java using json-simple
 * @author Gaurav Kukade at coderolls.com
 */


public class ParseJSONUsingJsonSimple {

        public static void main(String[] args) {
                //take json as string
                String jsonString = "{"
                                                + "  "name": "coderolls","
                                                + "  "type": "blog","
                                                + "  "address": {"
                                                + "    "street": "1600 Pennsylvania Avenue NW","
                                                + "    "city": "Washington","
                                                + "    "state": "DC""
                                                + "  },"
                                                + "  "employees": ["
                                                + "    {"
                                                + "      "firstName": "John","
                                                + "      "lastName": "Doe""
                                                + "    },"
                                                + "    {"
                                                + "      "firstName": "Anna","
                                                + "      "lastName": "Smith""
                                                + "    },"
                                                + "    {"
                                                + "      "firstName": "Peter","
                                                + "      "lastName": "Jones""
                                                + "    }"
                                                + "  ]"
                                                + "}";
                               
                System.out.println("Parsing the json string in java using json-simple......n");
               
                JSONParser parser = new JSONParser();
                JSONObject coderollsJSONObject = new JSONObject();
                try {
                        coderollsJSONObject = (JSONObject) parser.parse(jsonString);
                } catch (ParseException e) {
                        e.printStackTrace();
                }
               
                //now we can access the values
                String name = (String) coderollsJSONObject.get("name");
                System.out.println("Name: "+name+"n");
               
                //we can get the JSON object present as value of any key in the parent JSON
                JSONObject addressJSONObject = (JSONObject) coderollsJSONObject.get("address");
               
                //access the values of the addressJSONObject
                String street = (String) addressJSONObject.get("street");
                System.out.println("Street: "+street+"n");
               
               
                //we can get the json array present as value of any key in the parent JSON
                JSONArray employeesJSONArray = (JSONArray) coderollsJSONObject.get("employees");
                System.out.println("Printing the employess json array: n"+employeesJSONArray.toString()+"n");
               
                //we can get individual json object at an index from the employeesJSONArray
                JSONObject employeeJSONObject = (JSONObject) employeesJSONArray.get(0);
                String firstName = (String) employeeJSONObject.get("firstName");
                System.out.println("First Name of the employee at index 0: "+firstName);
        }
}

  ParseJSONUsingJsonSimple.java kodunu alın.

Her üç kitaplık da json dizesinden bir JSON nesnesi oluşturmanıza izin verir, ancak JSON-Java'nın kullanımının kolay olduğunu gördüm.

Daha fazla eğitim videosu bulmak için YouTube kanalım 'coderolls'u ziyaret edebilirsiniz .

 

Kaynak

 

Yorumunuzu Ekleyin


Yükleniyor...
Yükleniyor...