gpt4 book ai didi

java - Guava Spliter 返回一个 Collection,但我想要一个 HashMap

转载 作者:行者123 更新时间:2023-12-01 19:39:42 26 4
gpt4 key购买 nike

我正在尝试将 JSON 字符串(由 Web 服务在 HTTP 响应上返回)转换为 HashMap。在 Python 中,我可以简单地使用 json.loads(string_response) ,它会给我一个很好的字典。我正在尝试在 Java 中找到类似的东西。

我的片段是-

String result = "{\"packetsReceived_Audio\":\"\",\"packetsReceived_Screen\":\"\",\"packetsReceived_Video\":\"\",\"packetsSent_Audio\":\"\",\"packetsSent_Screen\":\"\",\"packetsSent_Video\":\"\",\"sequenceNumber\":\"0\"}";
Map map = Splitter.on(",").withKeyValueSeparator(":").split(result);

正如下面的评论之一指出它应该已经返回 HashMap ,但事实并非如此。它返回给我一个集合,其中每个项目都包含子项目 - “键”和“值”。为清楚起见,请参阅附图。我期待的是一个 HashMap。

Debug window from IntelliJ

我知道我可以添加另一个步骤来创建常用的 map ,但我想检查框架中是否已经有可用的东西。

谢谢!

最佳答案

在调用withKeyValueSeparator后,Splitter 确实会返回一个映射。查看 {} 中的灰色文本,它说明了映射变量的类型。这是一个实现 map 的不可修改的 map 。您也会看到该条目集,因为您的 IDE 会内省(introspection)不可修改映射的内部实现。

无论哪种方式,我认为你最好使用专门为解析 json 构建的库。它可以处理极端情况,例如包含冒号的 json 值。这里有一些examples in Jackson .

关于java - Guava Spliter 返回一个 Collection,但我想要一个 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55718865/

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