简体   繁体   English

无法解析Java中的JSON文件

[英]Unable to parse JSON file in Java

I have a json file in the below format: 我有以下格式的json文件:

{
  "IsLastPage": false,
  "EnrichedData": {
    "Base": [
      {
        "Number": "001107635",
        "Type": "EEG_PR"
        },
        {
        "Number": "00110754",
        "Type": "ABC_PR"
        }
        ]
        }
        }

To parse it in java I am using the following piece of code: 为了在Java中解析它,我使用以下代码:

JSONObject jsonObject = new JSONObject(new FileReader("src\\enriched.json"));
JSONArray EnrichedData = jsonObject.getJSONArray("EnrichedData");
System.out.println(EnrichedData);
for(int i=0; i < EnrichedData.length(); i++) {
                JSONObject row = EnrichedData.getJSONObject(i);
                JSONArray elements = row.getJSONArray("Base");

                for(int j=0; j < elements.length(); j++) { 
                    JSONObject element =  elements.getJSONObject(j); 
                    JSONObject Number = element.getJSONObject("Number"); 
                    JSONObject Type = element.getJSONObject("Type"); 

                    System.out.println("Number: " + Number.getString("Number")); 
                    System.out.println("Type: " + Type.getString("Type")); 
                }
            }

But on executing this it throws exception that 但是执行此操作会引发异常

org.json.JSONException: JSONObject["Base"] not found. org.json.JSONException:找不到JSONObject [“ Base”]。

What wrong am I doing here? 我在这里做什么错?

Note that this is wrong: 请注意,这是错误的:

JSONArray EnrichedData = jsonObject.getJSONArray("EnrichedData");

EnrichedData is not an array but a JSONObject . EnrichedData不是数组,而是JSONObject

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM