我无法实例化JsonArray类型 - 我正在使用javax.json lib

时间:2016-09-14 09:19:31

标签: arrays json jsonobject

我试图以这种方式在Eclipse中实例化JsonArray

String text; // 
JsonArray array = new JsonArray(text);

但我收到消息:无法实例化类型JsonArray

我正在使用javax.json库,那会是问题吗?

我在论坛中看到其他人以同样的方式使用JsonArray,为什么我收到此消息?

1 个答案:

答案 0 :(得分:0)

  

我在论坛中看到其他人以相同的方式使用JsonArray

确定他们没有使用JsonArray包中的javax.json。他们可能正在使用org.json.JSONArraycom.google.gson.JsonArray或任何其他类。

  

为什么我收到此消息?

javax.json.JsonArray是一个接口,接口无法实例化。

以下是JsonArray API文档中引用的一些示例,演示了如何使用它:

  

以下示例演示了如何使用方法JsonArray从输入源创建JsonReader.readArray()对象:

     
JsonReader jsonReader = Json.createReader(...);
JsonArray array = jsonReader.readArray();
jsonReader.close();
     

以下示例演示如何使用类JsonArrayBuilder构建空JSON数组:

     
JsonArray array = Json.createArrayBuilder().build();
     

下面的示例代码演示了如何创建以下JSON数组:

     
[
  {
    "type": "home",
    "number": "212 555-1234"
  },
  {
    "type": "fax",
    "number": "646 555-4567"
  }
]
     
JsonArray value = Json.createArrayBuilder()
    .add(Json.createObjectBuilder()
        .add("type", "home")
        .add("number", "212 555-1234"))
    .add(Json.createObjectBuilder()
        .add("type", "fax")
        .add("number", "646 555-4567"))
    .build();