Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Vert.x Json.decodeValue列表_Java_Json_List_Decode_Vert.x - Fatal编程技术网

Java Vert.x Json.decodeValue列表

Java Vert.x Json.decodeValue列表,java,json,list,decode,vert.x,Java,Json,List,Decode,Vert.x,有人知道如何在vert.x中将json字符串解码为List 您可以使用Json.decodeValue(data,Foo.class)轻松地将字符串转换为对象但我似乎不知道如何在列表的情况下这样做 到目前为止,我已经通过Json.decodeValue(data,List.class)获得了数据但是除了打印出来,你不能对结果做任何事情。Json类使用Jackson来解码字符串 我建议您使用Foo[]而不是列表。如果您确实需要一个列表,您可以轻松地创建一个“Arrays.asList(arr)”

有人知道如何在vert.x中将json字符串解码为
List

您可以使用
Json.decodeValue(data,Foo.class)轻松地将字符串转换为对象但我似乎不知道如何在列表的情况下这样做


到目前为止,我已经通过
Json.decodeValue(data,List.class)获得了数据但是除了打印出来,你不能对结果做任何事情。

Json类使用Jackson来解码字符串

我建议您使用Foo[]而不是列表。如果您确实需要一个列表,您可以轻松地创建一个“Arrays.asList(arr)”


或者您可以使用此站点上的一个示例:

您必须声明一个容器对象,但除此之外,它非常简单:

// This is your Foo
public class MyObj {
    public String key;

    // Just for clarity
    @Override
    public String toString() {
        return "MyObj{" +
                "key='" + this.key + '\'' +
                '}';
    }
}

// This is the container
public class MyArray {
   // Property is mandatory in this case
   @JsonProperty("objs")
   List<MyObj> objs;
}
试试这个

List-doulist=Json.decodeValue(bodyAsString,new-TypeReference(){})


TypeReference是Jackson的参考资料

我不得不使用
Gson.fromJson
API作为列表。
public static void main(final String[] args) {

    // Your input is a JSON array, not a JSON object
    final String input = "[{\"key\":\"a\"}, {\"key\":\"b\"}, {\"key\":\"c\"}]";

    // We format it to be a JSON object, so we can parse it
    final MyArray res = Json.decodeValue(String.format("{\"objs\":%s}", input), MyArray.class);

    // Get your List out
    System.out.println(res.objs);
}