2017-09-20 99 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