JSON.simple - Containerfabrik
Mit ContainerFactory kann ein benutzerdefinierter Container für analysierte JSON-Objekte / Arrays erstellt werden. Zuerst müssen wir ein ContainerFactory-Objekt erstellen und es dann in der Analysemethode von JSONParser verwenden, um das erforderliche Objekt abzurufen. Siehe das folgende Beispiel -
Beispiel
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);
}
}
}
Ausgabe
Key : first Value : 123
Key : second Value : [4, 5, 6]
Key : third Value : 789