2017-09-20 9 views
-3

Ich möchte JSON-Datei lesen. Meine JSON-Datei enthält folgenden Inhalt:Wie lese ich JSON-Datei in Java

[ 
    { 
    "arguments" : [ 
     { 
     "IsEnabled" : "false", 
     "class" : "UITextField", 
     "width" : 238, 
     "parent" : { 
      "class" : "UIView", 
      "height" : 101, 
      "Y" : 192, 
      "width" : 280, 
      "X" : 20 
     }, 
     "name" : "Enter UserName", 
     "X" : 40, 
     "isRightOf" : "NA", 
     "Recording Device" : "NA", 
     "Y" : 0 
     }, 
     { 
     "data" : "Enter UserName", 
     "type" : "string" 
     } 
    ], 

    } 
] 

Ich habe auch versucht, GSON-Bibliothek JSON-Datei zu lesen.aber schlägt fehl. Bitte helfen

+0

was haben Sie bisher versucht und was ist Ihr möglicher generierter Fehler? – atiqkhaled

+0

Wo genau das Lesen mit GSON fehlschlägt. Zeig uns, wo du steckst und was du bisher versucht hast. Prost ! – tobieski

Antwort

1

Die JSON ungültig vorgesehen ist (es ist ein ungültiges Komma)

[ 
    { 
    "arguments" : [ 
     { 
     "IsEnabled" : "false", 
     "class" : "UITextField", 
     "width" : 238, 
     "parent" : { 
      "class" : "UIView", 
      "height" : 101, 
      "Y" : 192, 
      "width" : 280, 
      "X" : 20 
     }, 
     "name" : "Enter UserName", 
     "X" : 40, 
     "isRightOf" : "NA", 
     "Recording Device" : "NA", 
     "Y" : 0 
     }, 
     { 
     "data" : "Enter UserName", 
     "type" : "string" 
     } 
    ], <-- this comma makes the json invalid 

    } 
] 
0

Ihre Eingabe json falsch war fehlt ein Komma gibt es wie vorgeschlagen.

Json Objekte sind sehr schwer zu analysieren, aber wenn man einmal den Begriff davon, wie die JSON-Daten zu analysieren, es ist wirklich einfach.

Sie müssen sehen, ob die Eigenschaft, die Sie zugreifen möchten, ein JSON-Array oder ein Objekt. Dies ist die Grundregel, wenn Sie ein Anfänger sind.

Hier ist der Code ::

outout IS ::

arguments>>>>>>>>> [{"parent":{"width":280,"X":20,"Y":192,"class":"UIView","height":101},"Recording Device":"NA","IsEnabled":"false","width":238,"name":"Enter UserName","X":40,"isRightOf":"NA","Y":0,"class":"UITextField"},{"data":"Enter UserName","type":"string"}] 
{"parent":{"width":280,"X":20,"Y":192,"class":"UIView","height":101},"Recording Device":"NA","IsEnabled":"false","width":238,"name":"Enter UserName","X":40,"isRightOf":"NA","Y":0,"class":"UITextField"} 
{"data":"Enter UserName","type":"string"} 

So, hier im Code können Sie sehen, dass ich manchmal json Array genommen haben und irgendwann widersprechen, müssen Sie unterscheiden zwischen Sie.

import java.io.FileReader; 
import java.io.IOException; 

import org.json.simple.JSONArray; 
import org.json.simple.JSONObject; 
import org.json.simple.parser.JSONParser; 


public class test { 

    public static void main(String[] args) throws IOException, InterruptedException { 
     JSONParser parser = new JSONParser(); 
     try { 
      Object obj = parser.parse(new FileReader("test.json")); 
      JSONArray jsonObject = (JSONArray) obj; 
      JSONObject arr = (JSONObject) jsonObject.get(0); 
      JSONArray arguments = (JSONArray) arr.get("arguments"); 
      System.out.println("arguments>>>>>>>>> "+arguments); 
      for(int i = 0 ; i< arguments.size() ;i++){ 
       JSONObject object = (JSONObject) arguments.get(i); 
       System.out.println(object); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+0

danke, aber das funktioniert nicht.Aktuell Json ist sehr groß kann nicht den Post bearbeiten oder die gesamte Datei einfügen. – Ruby

+0

Welche Eigenschaften der JSON-Datei möchten Sie lesen? Und wo bekommen Sie genau die Fehler? –

+0

Ich habe eine Datei mit .JSON-Erweiterung einschließlich Daten wie folgt [ {"Argumente": [{"Eltern": {},}, {}], "Aktion": "NA", "PopupName": "NA " } ] [ { "Argumente": [ { "parent": { }, }, { } ], "action": "NA", " popupName ":" NA " } ] Fehler beim Lesen von unerwartetem linken Quadrat e. – Ruby