JSON.simple - Nhà máy container

ContainerFactory có thể được sử dụng để tạo Vùng chứa tùy chỉnh cho các đối tượng / mảng JSON được phân tích cú pháp. Trước tiên, chúng ta cần tạo một đối tượng ContainerFactory và sau đó sử dụng nó trong Phương thức phân tích cú pháp của JSONParser để lấy đối tượng cần thiết. Xem ví dụ bên dưới -

Thí dụ

import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import org.json.simple.parser.ContainerFactory;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

class JsonDemo {
   public static void main(String[] args) {
      JSONParser parser = new JSONParser();
      String text =  "{\"first\": 123, \"second\": [4, 5, 6], \"third\": 789}";
      ContainerFactory containerFactory = new ContainerFactory() {
         @Override
         public Map createObjectContainer() {
            return new LinkedHashMap<>();
         }
         @Override
         public List creatArrayContainer() {
            return new LinkedList<>();
         }
      };
      try {
         Map map = (Map)parser.parse(text, containerFactory);       
         map.forEach((k,v)->System.out.println("Key : " + k + " Value : " + v));
      } catch(ParseException pe) {
         System.out.println("position: " + pe.getPosition());
         System.out.println(pe);
      }
   }
}

Đầu ra

Key : first Value : 123
Key : second Value : [4, 5, 6]
Key : third Value : 789