java - 如何将 Map 转换为 String?

标签 java elasticsearch kibana string-formatting

这是我的 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 和一个后缀 "=" (空格和等号),然后我想把它们分开带分号的条目。

最佳答案

String formattedMap = params.entrySet().
        stream()
        .map(e -> "ctx._source." + e.getKey() + " = " + e.getValue())
        .collect(Collectors.joining(","));

关于java - 如何将 Map 转换为 String?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72406173/

相关文章:

java - 哪个更快? Statement 或 PreparedStatement

java - 如何在不使用prepareStatement的情况下避免JasperReports中的sql注入(inject)

Java:有没有办法计算二维数组中 int 的出现次数?

Java 关键字不允许作为 EL 标识符

security - 通过浏览器保护 Elasticsearch 访问

elasticsearch - 您输入的索引模式与任何索引都不匹配

elasticsearch - Kibana Dashboard only 模式

elasticsearch - 如何使用Logstash过滤器转换为嵌套对象以供Elasticsearch输出?

c# - ElasticSearch 嵌套 MatchPhrasePrefix 多个字段

elasticsearch - Kibana不创建,我的数据指标