需要使用java读取对象内部的json数组

时间:2019-02-13 07:07:07

标签: java json eclipse

我正在尝试使用Java读取JSON,但无法做到这一点。因此需要编写一个Java代码来读取对象内部数组所在的JSON文件。

"exclusion":{  
     "serviceLevelList":[ "SIS98", "C4P","SNTP" ],
     "pid":[  "ABC", "DEF"  ]
}

5 个答案:

答案 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数据的信息,