gpt4 book ai didi

java - 使用 Eclipse 解析 JSON

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:22:05 26 4
gpt4 key购买 nike

我是 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(位于大括号中)。之后代码应该是相当 self 解释的:)

关于java - 使用 Eclipse 解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27647527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com