sto colpendo un servizio e, a volte tornare qualcosa di simile:Come dire se return è JSONObject o JSONArray con JSON-simple (Java)?
{ "param1": "value1", "param2": "value2" }
e talvolta ottenere di ritorno in questo modo:
[{ "param1": "value1", "param2": "value2" },{ "param1": "value1", "param2": "value2" }]
Come faccio a sapere che sto diventando? Entrambi restituiscono una stringa quando faccio getClass(), ma se provo a fare questo:
json = (JSONObject) new JSONParser().parse(result);
sul secondo caso ottengo un'eccezione
org.json.simple.JSONArray cannot be cast to org.json.simple.JSONObject
Come evitare questo? Vorrei solo sapere come controllare quale ritorno. (Il primo caso a volte contiene []
quindi non riesco a fare l'indice e mi piacerebbe un modo più pulito di controllare il primo carattere.
Ci deve essere un qualche tipo di metodo che controlli questo?
Dovrebbe essere abbastanza semplice controllare se la stringa inizia e finisce con '[]'. Che cosa hai provato? – ApproachingDarknessFish
Posso dire se si tratta e finisce con [], ma il problema è che ottengo una stringa "[{\" param1 \ "...}, {...}]" che non riesco a convertire di nuovo in un array. – PixMach