2017-09-20 97 views
-3

我想閱讀Json文件。我的JSON文件包含內容如下如何閱讀java中的json文件

[ 
    { 
    "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" 
     } 
    ], 

    } 
] 

我也試過GSON圖書館閱讀JSON file.but失敗。請幫助

+0

到目前爲止您嘗試過什麼,以及您可能產生的錯誤是什麼? – atiqkhaled

+0

GSON正確讀取失敗。向我們展示你被困住的地方以及迄今爲止所嘗試的東西。乾杯! – tobieski

回答

1

您提供的JSON是無效的(有一個無效的逗號)

[ 
    { 
    "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

你輸入JSON是錯的有一個逗號丟失的建議。

Json對象很難解析,但如果你一旦得到了如何解析json數據的概念,那真的很容易。

您需要查看您嘗試訪問的屬性是一個json數組還是一個對象。如果你是初學者,這是基本規則。

下面是代碼::

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"} 

所以,在這裏的代碼,你可以看到,我有時採取JSON數組和對象的某個時候,你需要區分他們。

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

謝謝,但這是行不通的。事實上,Json非常大,無法編輯帖子或粘貼整個文件。 – Ruby

+0

你想閱讀的json文件的哪些屬性?你究竟在哪裏得到錯誤? –

+0

我有一個擴展名爲.json的文件,其中包含以下數據[「參數」:[{「parent」:{},}, {}],「action」:「NA」,「popupName」:「 「 } ] [ { 」參數「:[ { 」父「:{ }, }, { } ], 」行動「: 」NA「, 」 popupName「:」不適用「 } ]錯誤我在閱讀意想不到的左方格e。 – Ruby