gpt4 book ai didi

java - 将字符串转换为json

转载 作者:行者123 更新时间:2023-12-02 09:55:30 25 4
gpt4 key购买 nike

我有一个 HashMap ,并且我在该映射中添加了 2 个值。之后我想转换为 json,但使用 jackson 转换 json 后它显示为字符串。下面是我的代码:

Map<String, Map<String, String>> attributes = new HashMap<String, Map<String, String>>();
Map<String, String> values = new HashMap<String, String>();
Map<String, String> metadata = new HashMap<String, String>();
metadata.put("type", test.getType().toString());
metadata.put("id", test.getId());
String metadataStr = metadata.toString();
String replaceStr = metadataStr.replace("=", ":");
values.put("metadata", replaceStr);
attributes.put("caption", values);

这里我将属性转换为 json,如下所示:

String json = this.getObjectMapper().writeValueAsString(attributes);

{
"Test": {
"metadata": "{id:f600b8fa-77cf-4225-ba42-39135909c7ce, type:test}",
}
}

但我需要像下面这样:

{
"Test": {
"metadata": {
"id":"f600b8fa-77cf-4225-ba42-39135909c7ce",
"type":"test" }
}
}

谁能帮我解决这个问题吗?提前致谢。

最佳答案

根本原因在于值的类型,这一行:

values.put("metadata", replaceStr);

需要具备:

Map<String, Map<String, Map<String, String>>> attributes = new HashMap<String, Map<String, Map<String, String>>>();
Map<String, Map<String, String>> values = new HashMap<String, Map<String, String>>();
Map<String, String> metadata = new HashMap<String, String>();
metadata.put("type", test.getType().toString());
metadata.put("id", test.getId());
values.put("metadata", metadata);
attributes.put("caption", values);

关于java - 将字符串转换为json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56038378/

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