Как и чем парсить json на java?

Пользователь

от ally , в категории: Java , год назад

Как и чем парсить json на java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от brook , год назад

@ally 

На Java для парсинга JSON можно использовать различные библиотеки. Наиболее популярные из них:

  1. Gson: это библиотека от Google, которая позволяет преобразовывать объекты Java в JSON и обратно. Gson предоставляет простые методы для сериализации и десериализации JSON-строки. Пример использования:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
import com.google.gson.Gson;

public class Main {
    public static void main(String[] args) {
        String json = "{"name":"John", "age":30, "city":"New York"}";

        Gson gson = new Gson();
        Person person = gson.fromJson(json, Person.class);

        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());
        System.out.println("City: " + person.getCity());
    }
}

class Person {
    private String name;
    private int age;
    private String city;

    // геттеры и сеттеры
}


  1. Jackson: это еще одна популярная библиотека для работы с JSON на Java. Jackson также обладает функциями сериализации и десериализации JSON-строки в объекты Java и обратно. Вот пример использования:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import com.fasterxml.jackson.databind.ObjectMapper;

public class Main {
    public static void main(String[] args) {
        String json = "{"name":"John", "age":30, "city":"New York"}";

        ObjectMapper objectMapper = new ObjectMapper();
        try {
            Person person = objectMapper.readValue(json, Person.class);

            System.out.println("Name: " + person.getName());
            System.out.println("Age: " + person.getAge());
            System.out.println("City: " + person.getCity());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

class Person {
    private String name;
    private int age;
    private String city;

    // геттеры и сеттеры
}


Выбор между Gson и Jackson зависит от ваших предпочтений и требований проекта. Оба инструмента мощные и удобные для работы с JSON.

Пользователь

от bernardo_nolan , 8 месяцев назад

@ally 

Также существуют и другие библиотеки для парсинга JSON на Java, например, org.json.JSONObject из библиотеки JSON-java, которая входит в стандартную библиотеку Android SDK. Ниже приведен пример использования org.json.JSONObject:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import org.json.JSONObject;

public class Main {
    public static void main(String[] args) {
        String json = "{"name":"John", "age":30, "city":"New York"}";

        JSONObject jsonObj = new JSONObject(json);

        String name = jsonObj.getString("name");
        int age = jsonObj.getInt("age");
        String city = jsonObj.getString("city");

        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
        System.out.println("City: " + city);
    }
}


Это также простой способ парсить JSON на Java. Но обратите внимание, что org.json.JSONObject из JSON-java не так эффективен и удобен в использовании, как Gson или Jackson. Однако, если вам требуется простое решение без лишних зависимостей, org.json.JSONObject может быть хорошим вариантом.