我正在尝试使用Java读取JSON,但无法做到这一点。因此需要编写一个Java代码来读取对象内部数组所在的JSON文件。
"exclusion":{
"serviceLevelList":[ "SIS98", "C4P","SNTP" ],
"pid":[ "ABC", "DEF" ]
}
答案 0 :(得分:0)
将JSONObject用于简单JSON,将JSONArray用于JSON数组。
try {
JSONParser parser = new JSONParser();
JSONObject data = (JSONObject) parser.parse(
new FileReader("/config.json"));//path to the JSON file.
JSONObject jsonObject = data.getJSONObject("exclusion");
JSONArray array= jsonObject.getJSONArray("pid");
} catch (Exception e) {
e.printStackTrace();
}
使用Google简单库
<dependency> <groupId>com.googlecode.json-simple</groupId> <artifactId>json-simple</artifactId> <version>1.1.1</version> </dependency>
答案 1 :(得分:0)
尝试一下:
String jsonTxt = IOUtils.toString( is );
JSONObject json = (JSONObject) JSONSerializer.toJSON( jsonTxt );
JSONObject exclusion= json.getJSONObject("exclusion");
String serviceLevelList[]= pilot.getString("serviceLevelList");
String pid[]= pilot.getString("pid");
答案 2 :(得分:0)
您可以尝试使用 Gson Object 的方法将JSON转换为Java Object和Vise Versa。
为此您可以如下使用依赖项
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.6.2</version>
</dependency>
Gson对象提供以下几种方法:
Gson gson = new Gson();
// Convert Java object to JSON and assign to a String
String jsonInString = gson.toJson(obj);
//Convert JSON to Java object, read it from a JSON String.
String jsonInString = "{'name' : 'myname'}";
Staff staff = gson.fromJson(jsonInString, Student.class);
您可以使用您的代码进行尝试:-)
答案 3 :(得分:0)
我们已经使用XStream多年了。尽管我们的主要用途是用于.XML文件,但它也支持读取和写入JSON,并且已经使用了几次。
通过以下依赖项片段将其包括在您的maven项目中:
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.11</version>
</dependency>
他们的web site中有您需要的所有信息。他们甚至有一个可能有用的“ Two minute tutorial”和一个“ JSON Tutorial”(顺便说一句,其中有一个“ Read from JSON”提述可能直接适用于您的情况) )。 references section,甚至是XStream course in StudyTrails中记录的互联网上也有几篇文章。
答案 4 :(得分:0)
通过使用JSONObject和JSONArray类,您可以对json数据执行不同的操作。
请参阅此link以了解有关处理不同格式的json数据的信息,