适用于Java的JSON API。 JsonParser到JsonObjects和JsonArrays

时间:2017-05-30 03:26:47

标签: java json javax.json

我感谢您一起来看看。

我正在解决一个问题,我需要能够让Json进入内存并且能够导航"钥匙周围。

我可以使用Json.createParser()方法并使用args中的FileReader来获取系统中的文件。我的问题是,从那里我还没有办法将JsonParser对象带到JsonObject来读取值。

我正在使用包javax.json

我希望能够使用JsonObject和JsonArray轻松浏览Json数据,但是使用JsonParser对象。

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

好的,我明白了。

以下是json的样子:

{
    "name": "Changed name",
    "Items": 
        [ 
            {"item1": "the_fist_item"},
            {"item2": "the_second_item"},
            {"item3": "the_second_item"}
        ]
}

然后在java ...

import java.io.FileReader;
import javax.json.*;

public class JsonTester
{
  public static void main(String[] args)
  { 
    try
    {

      JsonReader json_file = Json.createReader(new FileReader("***the directory to the json file***"));
      JsonObject json_object = json_file.readObject();

      String the_second_item = json_object.getJsonArray("Items").getJsonObject(1).get("item2").toString();

      System.out.println(the_second_item);
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
  }
}

我试图完成的导航部分是在the_second_item上。这是所有get()方法深入Json文件以获取我想要的特定值。

感谢David Ehrmann的帮助。