Próbuję przekonwertować HashSet<String>
na JSONObject
, a następnie przeanalizować wynikowy kod JSON.Nie można zanalizować komponentu HashSet do łańcucha JSONObject
Oto co próbowałem:
JSONObject json = new JSONObject();
json.put("set", new HashSet<>(Arrays.asList("a", "b")));
json.put("list", Arrays.asList("a", "b"));
String jsonString = json.toJSONString();
System.out.println(jsonString);
JSONParser parser = new JSONParser();
JSONObject afterParse = (JSONObject) parser.parse(jsonString);
System.out.println(afterParse.toJSONString());
Ale to daje mi to wyjście i błąd:
{"set":[b, a],"list":["a","b"]}
Exception in thread "main" Unexpected character (b) at position 8.
Tutaj można zobaczyć zarówno aib są łańcuchami, na liście zarówno są w podwójnych cudzysłowach, ale w zestawie nie.
Używam org.json.simple
v1.1.
Czy próbować dokonać HashSet jako HashSet? Myślę, że to nie rozwiąże problemu, ale warto go przetestować. –
Próbowałem używać HashSet, ale dane wyjściowe są takie same –
Po zmianie pakietu na 'org.json.JSONObject', ten sam kod działa. Nie jestem pewien, czy może to być błąd w org.json.simple. – Ravikumar