>Java >java지도 시간 >JAVA의 json을 구문 분석하는 방법

JAVA의 json을 구문 분석하는 방법

anonymity
anonymity원래의
2019-05-29 09:19:464190검색

1. JSON이란

JSON은 프로그래밍 언어와 완전히 독립적인 텍스트 형식을 사용하여 데이터를 저장하고 표현하는 경량 데이터 교환 형식입니다. 단순성과 명확한 계층 구조 덕분에 JSON은 이상적인 데이터 교환 언어입니다. 읽기 및 쓰기가 쉬울 뿐만 아니라 구문 분석 및 생성도 쉬우며 네트워크 전송 효율성을 효과적으로 향상시킵니다.

JAVA의 json을 구문 분석하는 방법

2. JSON 구문

(1) 데이터가 이름/값 쌍으로 되어 있음

(2) 데이터가 쉼표로 구분됨

(3) 중괄호로 개체 저장

(4) 대괄호로 배열 저장

3. Java에서 JSON을 생성하고 구문 분석하는 네 가지 방법(간단한 데모):

엔티티 클래스: JSON 데이터를

public class Person {
    private String name;
    private String sex;
    private int age;
    public Person(String name, String sex, int age) {
        this.name = name;
        this.sex = sex;
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public String getSex() {
        return sex;
    }
    public int getAge() {
        return age;
    }
    @Override
    public String toString() {
        return "Person{name='" + name + '\'' + ", sex='" + sex + '\'' + ", age=" + age + '}';
    }
}

로 변환하는 데 사용됩니다. (1) 기존 방법 사용:

엔티티 클래스로 Json 생성 문자열:

public Person getPerson(){
    return new Person("张三", "男", 25);
}
@Test
public void EntityToJson(){
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("name", getPerson().getName());
    jsonObject.put("sex", getPerson().getSex());
    jsonObject.put("age", getPerson().getAge());
    System.out.println(jsonObject.toString());
}

Json 문자열에서 엔터티 클래스 생성:

@Test
public void JsonToEntity(){
    String jsonString = "{\"sex\":\"男\",\"name\":\"张三\",\"age\":25}";
    JSONObject jsonObject = new JSONObject(jsonString);
    Person person = new Person(jsonObject.get("name").toString(), jsonObject.get("sex").toString(), Integer.valueOf(jsonObject.get("age").toString()));
    System.out.println(person.toString());
}

(2) Jackson 메서드 사용:

엔터티 클래스에서 Json 문자열 생성:

@Test
public void EntityToJson() throws IOException {
    Person person = new Person("张三", "男", 25);
    ObjectMapper objectMapper = new ObjectMapper();
    String jsonString = objectMapper.writeValueAsString(person);
    System.out.println(jsonString);
}

Json 문자열에서 엔터티 클래스 생성:

@Test
public void JsonToEntity() throws IOException {
    ObjectMapper objectMapper = new ObjectMapper();
    String jsonString = "{\"name\":\"张三\",\"sex\":\"男\",\"age\":25}";
    Person person = objectMapper.readValue(jsonString, Person.class);
    System.out.println(person);
}

(3) GSON 메서드 사용:

엔터티 클래스에서 Json 문자열 생성:

@Test
public void EntityToJson(){
    Person person = new Person("张三", "男", 25);
    Gson gson = new Gson();
    String jsonString = gson.toJson(person);
    System.out.println(jsonString);
}

Json 문자열에서 엔터티 클래스 생성:

@Test
public void JsonToEntity(){
    String jsonString = "{\"name\":\"张三\",\"sex\":\"男\",\"age\":25}";
    Gson gson = new Gson();
    Person person = gson.fromJson(jsonString, Person.class);
    System.out.println(person.toString());
}

(4) FastJSON 메서드

를 사용하여 엔터티 클래스 문자열에서 Json 생성:

@Test
public void EntityToJson(){
    Person person = new Person("张三", "男", 25);
    Object jsonString = JSON.toJSON(person);
    System.out.println(jsonString.toString());
}

엔터티 생성 Json 문자열의 클래스:

@Test
public void JsonToEntity(){
    String jsonString = "{\"name\":\"张三\",\"sex\":\"男\",\"age\":25}";
    Person person = JSON.parseObject(jsonString, Person.class);
    System.out.println(person.toString());
}

위 내용은 JAVA의 json을 구문 분석하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.