gpt4 book ai didi

java - 如何将带有对象和数组索引的字符串转换为 json

转载 作者:行者123 更新时间:2023-12-01 12:13:12 25 4
gpt4 key购买 nike

我从另一个程序收到带有元素字符串表示的 Map:

Map<String,String> properties = new HashMap<String,String>() {{
put("news[0].title", "Title 1");
put("news[0].body", "Body 1");
put("news[1].title", "Title 2");
put("news[1].body", "Body 2");
}};

我需要将其渲染到 freemarker-template 中。有问题

freemarker-flat-structure-of-passing-parameters-transfer-to-array-of-objects

我们认为在 freemarker 中解析此类值是不可能的。但 freemarker 可以 eval json。

所以我需要知道如何将这个 map 转换为对象或json。我需要这样的东西:

{
"news": [
{"title": "Title1", "body": "Body1"},
{"title": "Title2", "body": "Body2"}
]
}

map 中的参数名称未知,不完全是“新闻”,不完全是“标题”和“正文”,我不知道。可能有一些用于此类目的的库吗?

最佳答案

由于您在那里使用自己的语言,因此只需为其编写一个解析器即可。毕竟它不是一种复杂的语言。另外,根据我对这个问题的了解,将其转换为 JSON 没有意义。是的,FTL 表达式语法和 JSON 语法有很多重叠。但是您不应该解析 FTL-s 内的任何内容,只需将您的语言解析为 List-s 和 JavaBeans 和/或 Map-s,然后传递该纯 Java 对象到 FreeMarker。

关于java - 如何将带有对象和数组索引的字符串转换为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27167290/

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