Java 用Eclipse解析JSON

Java 用Eclipse解析JSON,java,json,eclipse,Java,Json,Eclipse,我是java新手,我有一个可能很简单的教员项目。我必须用eclipse解析json,所以我开始了,但没有成功。当json中有多个对象时,我不知道如何开始 我是这样开始的: public static void main(String[] args) { FileReader reader = new FileReader(filePath); JSONParser jsonParser = new JSONParser();

我是java新手,我有一个可能很简单的教员项目。我必须用eclipse解析json,所以我开始了,但没有成功。当json中有多个对象时,我不知道如何开始

我是这样开始的:

public static void main(String[] args) {

         FileReader reader = new FileReader(filePath);


            JSONParser jsonParser = new JSONParser();
            JSONObject jsonObject = (JSONObject) jsonParser.parse(reader);
            JSONArray objectArray = jsonObject.getJSONArray("product");


            //JSONObject site= jsonSites.getJSONObject(1);

            long elementaryProductId =  (long) jsonObject[0].get("elementaryProductId");
            System.out.println("The id is: " + elementaryProductId);'
这是我的json文件:

[{  
    "elementaryProductId":1,
    "bonusMalus":30,
    "deductible":500,
    "comprehensive":1,
    "partial":0,
    "legacyPremium":130,
    "product":{  
        "productId":2,
        "garage":"true",
        "constructionYear":1990,
        "region":"East",
        "dateOfBirthYoungest":"1983-06-22",
        "objectValue":25000,
        "type":"Car",
        "insuredObject":{  
            "name":"Car",
            "ownersName":"Jovana",
            "mileage":300000,
            "engineCapacity":120
        },
        "salesProduct":{  
            "salesProductId":3,
            "currency":"EUR",
            "contractStart":"2011-01-01",
            "contractEnd":"2012-01-01"
        },
        "productType":"Car"
    }
},
{  
    "elementaryProductId":1,
    "bonusMalus":5,
    "deductible":100,
    "comprehensive":1,
    "partial":0,
    "legacyPremium":75.38,
    "product":{  
        "productId":2,
        "garage":"true",
        "constructionYear":2005,
        "region":"East",
        "dateOfBirthYoungest":"1999-06-22",
        "objectValue":30000,
        "type":"Car",
        "insuredObject":{  
            "name":"Car",
            "ownersName":"Jelena",
            "mileage":300000,
            "engineCapacity":210
        },
        "salesProduct":{  
            "salesProductId":3,
            "currency":"EUR",
            "contractStart":"2013-01-01",
            "contractEnd":"2014-01-01"
        },
        "productType":"Car"
    }
}]

我将其用于以下方面:

public static void main(String[] args) throws IOException, ParseException{
    FileReader reader = new FileReader(new File("filename.json"));


    JSONParser jsonParser = new JSONParser();
    JSONArray jsonArray = (JSONArray) jsonParser.parse(reader);
    JSONObject object = (JSONObject) jsonArray.get(0);
    long elementaryProductId = (Long) object.get("elementaryProductId");



    System.out.println("The id is: " + elementaryProductId);
}
以上说明:


您知道最外层的元素是数组,所以直接解析为
JSONArray
。接下来,您要拉出该数组的第一个元素,它是一个
JSONObject
(在大括号中)。在此之后,代码应该是不言自明的:)

欢迎来到Stackoverflow,Pepinho。你有什么错误吗?与你的期望相比,你的结果是什么?请通过编辑将此添加到您的问题中。您使用什么库进行JSON解析?请确保添加完整的代码、完整的JSON输入和可能遇到的任何异常的stacktrace(或错误结果与预期结果的对比)。我使用的是json-simple-1.1.1.jar。在此之前,我有一些错误:JSONArray objectArray=jsonObject.getJSONArray(“”);是否已导入java.io.File;?在eclipse中的那个类上,只需按ctrl+shift+o(组织导入),它就可以进行排序了