2017-02-22 16 views
0

Ich habe folgende Art von JSON-Array (tatsächlich erhielt ich es als String so versuche ich, es zu JSON-Array zu konvertieren),Finding fehlerhafte Json Objekt von json Array

[{"Message":{"AccountId":"0","CreationDate":"02-DEC-16","Sbu":null,"ProfileId":"28261723","messageSeqId":69},"Offset":6}, 
{"Message":{"AccountId":"0","CreationDate":"02-DEC-16","Sbu":null,"ProfileId":"28261271","messageSeqId":76},"Offset":7}, 
{"Message":{"AccountId":"0","CreationDate":"06-DEC-16","Sbu":null,"ProfileId":"28261871","messageSeqId":99},"Offset":8}, 
{"Message":{"AccountId":"0","CreationDate":"06-DEC-16","Sbu":null,"ProfileId":"28261921","messageSeqId":101},"Offset":9}, 
{"Message":{"AccountId":"0","CreationDate":"07-DEC-16","Sbu":null,"ProfileId":"28260905","messageSeqId":105},"Offset":10}] 

Manchmal wird diese JSON-Array-Analyse schlägt fehl weil ein JSON-Objekt nicht analysiert werden kann (ich verwende JSON.simple zum JSON-Parsing). Gibt es eine Möglichkeit, das fehlerhafte JSON-Objekt zu identifizieren? Hier

ist der Code Teil (ResponseJson oben Zeichenfolge ist, die JSON-Array konvertieren möchten),

JSONParser jsonParser = new JSONParser(); 
    try{ 
     JSONArray jsonArray = (JSONArray) jsonParser.parse(ResponseJson); 
     int jsonArrayLength = jsonArray.size(); 
     System.out.println("jsonArray length: " + jsonArrayLength); 
     if (jsonArrayLength > 0) { 
      subscribeMessageEvent(topic,qStart,jsonArrayLength,jsonArray); 
     } 
    }catch (Exception e){ 
     e.printStackTrace(); 
    } 
+0

Was verwenden Sie für die JSON-Analyse? –

+2

was ist deine Frage/Fehler? –

+0

@JoPeyper, tut mir leid. Ich habe die Quest damit aktualisiert. – Hasitha

Antwort

0

Nein, Sie können nicht erkennen, welche JSON-Objekt ist nicht richtig mit Ihrer aktuellen Implementierung gebildet.

Wie auch immer, wenn Sie Ihre Eingabe als String erhalten, können Sie sie in die verschiedenen Nachrichten aufteilen und dann separat analysieren. Auf diese Weise haben Sie die Kontrolle und Sie können entscheiden, was Sie mit ihnen machen möchten.