
- 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
廣告