gpt4 book ai didi

Java JSON/对象到数组

转载 作者:行者123 更新时间:2023-11-29 06:22:10 25 4
gpt4 key购买 nike

我有一个关于类型转换的问题。我有以下 JSON 字符串:

{"server":"clients","method":"whoIs","arguments":["hello"]}

我正在将其解析为以下 Map

{arguments=[hello], method=whoIs, server=clients}

现在可以执行以下操作:

request.get("arguments");

这很好用。但我需要获取存储在参数中的数组。我怎样才能做到这一点?我尝试了(例如)以下内容:

System.out.println(request.get("arguments")[0]);

但这当然行不通..

这怎么可能?

最佳答案

很可能,值是一个 java.util.List。所以你会像这样访问它:

System.out.println(((List<?>) request.get("arguments")).get(0));

但是为了更方便的访问,或许可以看看Jackson ,特别是它的 Tree Model :

JsonNode root = new ObjectMapper().readTree(source);
System.out.println(root.get("arguments").get(0));

Jackson 当然也可以绑定(bind)到一个普通的 Map 上,可以这样做:

Map<?,?> map = new ObjectMapper().readValue(source, Map.class);

但由于转换和无法优雅地处理空值,访问 map 有点不方便。

关于Java JSON/对象到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2622748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com