Java的JSON API。JsonParser到JSONObject和JSONArray

Java的JSON API。JsonParser到JSONObject和JSONArray,java,json,javax.json,Java,Json,Javax.json,谢谢你看 我正在解决一个问题,我需要能够将Json放入内存,并能够“导航”键 我能够使用Json.createParser()方法并使用args中的FileReader在我的系统中获取文件。我的问题是,从这里开始,我还没有办法将JsonParser对象带到JsonObject来读取其中的值 我正在使用这个软件包 我希望能够使用JsonObject和JsonArray轻松地浏览Json数据,但要使用JsonParser对象 谢谢你的时间。好的,我想好了 以下是json的外观: { "nam

谢谢你看

我正在解决一个问题,我需要能够将Json放入内存,并能够“导航”键

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

我正在使用这个软件包

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

谢谢你的时间。

好的,我想好了

以下是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();
    }
  }
}
我试图完成的导航部分在第二项上。这是所有的get()方法,可以深入Json文件以获得我想要的特定值


感谢David Ehrmann的帮助。

你说的“导航”钥匙是什么意思?JsonParser是相当低级的。它允许您将JSON解释为类型化标记流。如果你只想把整个树读入内存,你可能会对JsonReader更感兴趣。我想我的意思是,我通常想深入研究对象数组中对象的对象lol。我要看看JsonReader谢谢。