- JSON.simple 教程
- JSON.simple - 主頁
- JSON.simple - 概述
- JSON.simple - 環境設定
- JSON.simple - Java 對映
- 解碼示例
- 轉義特殊字元
- JSON.simple - 使用 JSONValue
- JSON.simple - 異常處理
- JSON.simple - 容器工廠
- JSON.simple - 內容處理程式
- 編碼示例
- JSON.simple - 編碼 JSONObject
- JSON.simple - 編碼 JSONArray
- 合併示例
- JSON.simple - 合併物件
- JSON.simple - 合併陣列
- 組合示例
- JSON.simple - 原始型別、物件、陣列
- JSON.simple - 原始型別、對映、列表
- 原始型別、物件、對映、列表
- 自定義示例
- JSON.simple - 自定義輸出
- 自定義輸出流
- JSON.simple 有用資源
- JSON.simple - 快速指南
- JSON.simple - 有用資源
- JSON.simple - 討論
JSON.simple - 容器工廠
ContainerFactory 可用於為解析的 JSON 物件/陣列建立自定義容器。首先,我們需要建立一個 ContainerFactory 物件,然後在 JSONParser 的解析方法中使用它來獲取所需的 JSON 物件。請參閱以下示例 −
示例
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);
}
}
}
輸出
Key : first Value : 123 Key : second Value : [4, 5, 6] Key : third Value : 789
廣告