Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để phân tích cú pháp JSON mà không có các khóa trùng lặp bằng Gson trong Java?


A Gson là một thư viện JSON cho Java, được tạo bởi Google. Bằng cách sử dụng Gson, chúng ta có thể tạo JSON và chuyển đổi JSON sang các đối tượng Java. Chúng tôi có thể tạo một phiên bản Gson bằng cách tạo một GsonBuilder và gọi với create () phương pháp. Chúng tôi có thể phân tích cú pháp JSON mà không có các khóa trùng lặp bằng cách sử dụng TypeToken lớp. Nếu chúng tôi muốn tạo một loại chữ cho Bản đồ , chúng tôi có thể tạo lớp bên trong ẩn danh trống. Nếu chúng tôi cố gắng chèn một khóa trùng lặp, nó sẽ tạo ra lỗi trong thời gian chạy, " Ngoại lệ trong chuỗi" main "com.google.gson.JsonSyntaxException:khóa trùng lặp "

Cú pháp

public class TypeToken<T> extends Object

Ví dụ

import java.lang.reflect.Type;
import java.util.Map;
import com.google.gson.*;
import com.google.gson.reflect.TypeToken;
public class JsonWithoutDuplicateKeysTest {
   public static void main(String args[]) throws Exception {
      String json = "{\"123\":\"abc\", \"124\":\"def\", \"125\":\"ghi\"}";
      Gson gson = new GsonBuilder().setPrettyPrinting().create();
      Type mapType = new TypeToken<Map<Integer, String>>() {}.getType();
      Map<String, String> map = gson.fromJson(json, mapType);
      System.out.println(map);
   }
}

Đầu ra

{123=abc, 124=def, 125=ghi}