这是我的Map:
Map<String, Object> params = new HashMap<>();
params.put("topicRef", "update-123456-78925-new-u1z1w3");
params.put("parentRef", "update-123456-78925-new-u1z1w3");
Script script = new Script(ScriptType.INLINE, "painless",
String.format("ctx._source.parentRef = params.parentRef; ctx._source.topicRef = params.topicRef"),
params);
request.setScript(script);
我想将Map转换为字符串,但我想更改的模式,例如:
"ctx._source.key = value;ctx._source.key = value"
我想给键值添加一个前缀ctx._source.key
和一个后缀" ="
(空格和等号),然后我想用分号分隔每个条目。
4条答案
按热度按时间5cnsuln71#
xsuvu9jc2#
请尝试以下操作:
如有必要,您可以通过
String.concat()
删除结果中的最后一个;
。u5i3ibmn3#
您可以对
Map
的条目进行流处理,然后使用map
操作将每个条目Map到格式化的String
,并最终使用collect(Collectors.joining(";"))
操作连接每个元素。下面是测试代码的链接
https://www.jdoodle.com/iembed/v0/rrK
输出
wbgh16ku4#