gpt4 book ai didi

java - 使用 GSON 将 Hashmap 转换为 JSON

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:20:30 24 4
gpt4 key购买 nike

我有一个 HashMap<String, String> ,其中值字符串可以是 long 或 double。例如,123.000可以存储为 123 (长期存储)和 123.45作为123.45 (双)。

获取这两个 HashMap 值:

("one", "123"); ("two", "123.45")

当我将上面的映射转换成JSON字符串时,JSON值不应该有双引号,比如

Expected: {"one": 123, "two": 123.45 }

Actual: {"one": "123", "two": "123.45" }

下面是我的代码:

String jsonString = new Gson().toJson(map)

我更喜欢使用 GSON 的解决方案,但也欢迎使用其他库。

最佳答案

对于 Gson,您将获得以下转换:

Map<String, Double> -> {"one": 123, "two":123.45}
Map<String, Number> -> {"one": 123, "two":123.45}
Map<String, String> -> {"one": "123", "two": "123.45"}

基本上,没有办法让 Gson 自动将字符串转换为数值。如果您希望它们显示为数字(即不带引号),您需要在 map 中存储适当的数据类型,DoubleNumber

另外,Json只有有限的原始类型,它存储的是字符串或数字。数值不区分 IntegerLongDouble 等,所以我不确定您为什么要区分它们。一旦它被存储为 Json,它就被认为是相同的数字类型。

关于java - 使用 GSON 将 Hashmap 转换为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31620675/

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