Java 用Eclipse解析JSON
我是java新手,我有一个可能很简单的教员项目。我必须用eclipse解析json,所以我开始了,但没有成功。当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();
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(组织导入),它就可以进行排序了