有效负载:{“post”:{“postid”:“5e22fac7f7356803e8784172”,“tags”:[“a”,“lovve”,“asldkjfsbajfdkjlnzx”,“z”]},“date”:“2020-01-18t16:12:50.833423”,“user”:{“userid”:“5dfcfd77367c690edd91b2d9”},“reactiontype”:“unreoved”}
我在Kafka中有这样的配置
@Bean
public Map<String, Object> consumerConfigs() {
Map<String, Object> props = new HashMap<>(
kafkaProperties.buildConsumerProperties());
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG,
StringDeserializer.class);
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,
JsonDeserializer.class);
props.put(ConsumerConfig.GROUP_ID_CONFIG,
"magpie-trending");
props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
return props;
}
我有一个类,有相同的有效负载代码,我如何在任何时候在对象中转换它?
大家好,我有一个微服务接收这个字符串并且正在工作,但是我需要将这个字符串转换为一个特定的对象,当我使用ObjectMapper转换应用程序时,会返回这个异常:
抛出异常;嵌套异常是com.fasterxml.jackson.databind.exc.InvalidDefinitionException:无法构造com.avenuecode.magpie.trending.component.kafka.message.PostMessage
的实例(没有像默认构造一样的创建者存在):无法从对象值反序列化(没有基于委托或属性的创建者)
所以我的目标是:
public class ReactionMessage {
private PostMessage post;
private String date;
private UserMessage user;
private String reactionType;
@JsonCreator
public ReactionMessage(@JsonProperty("post") PostMessage post,
@JsonProperty("user") UserMessage user,
@JsonProperty("date") String date,
@JsonProperty("reactionType") String reactionType) {
this.post = post;
this.date = date;
this.user = user;
this.reactionType = reactionType;
}
@JsonCreator
public ReactionMessage() {
}
}
@KafkaListener(topics = "reaction-topic", clientIdPrefix = "string", groupId = "magpie-trending")
public void listenAsObject(ConsumerRecord<String, String> cr,
@Payload String payload) throws IOException {
logger.info("Logger 1 [JSON] received key {}: Type [{}] | Payload: {} | Record: {}", cr.key(),
typeIdHeader(cr.headers()), payload, cr.toString());
ObjectMapper mapper = new ObjectMapper();
ReactionMessage message = mapper.readValue(payload, ReactionMessage.class);
}
private static String typeIdHeader(Headers headers) {
return StreamSupport.stream(headers.spliterator(), false)
.filter(header -> header.key().equals("__TypeId__"))
.findFirst().map(header -> new String(header.value())).orElse("N/A");
}
您需要使JSONDeserializer
返回您期望的对象类型
例如,Kafka内置的JSON反序列化器只返回jsonnode
。
Spring JSON反序列化器有额外的属性来传递类名
我试图写一个规范来使用jolt转换完成下面的转换。我需要将平面JSON转换成嵌套JSON。 输入数据: 我在将平面JSON转换为嵌套JSON时遇到了一些问题。这里,我希望基于stoptype属性聚合数据,并且需要针对唯一的有效负载进行聚合。我用https://jolt-demo.appspot.com来测试以下内容。 输出: 你能帮我完成这个预期的输出吗?
当安装了Veil,我们可以查看它的命令。这些命令很简单,如下面的屏幕截图所示。例如:命令用于退出程序,用于提供有关特定工具的信息,用于列出可用工具,用于更新Veil,启用任何工具的使用,如在给定的屏幕截图中显示: 在上面的屏幕截图中,我们可以看到Veil中使用了两种类型的工具: :此工具用于生成无法检测到的后门。 :此工具用于生成Evasion使用的有效负载,它更像是一种辅助工具。 有效负载是代码
我已经应用了一个使用snmp4j发送和接收陷阱的示例,一切都很好。 但问题是: 当使用mule esb接收snmp陷阱时,我无法将传入的消息有效负载转换为PDU(或任何snmp4j合适的对象)以从中提取数据,我已经做了很多搜索,但徒劳无功。 有人能帮助我: 将我从udpendpoint收到的mule esb消息有效负载转换为org.snmp4j。从PDU对象中提取陷阱数据吗? 这是我的代码:
问题内容: 我试图从一个对象。该字符串包含一些字符,需要用其百分比转义序列替换。但是,当我使用URLEncoder以UTF-8编码对String进行编码时,即使将/替换为其转义序列。 如何从String对象获取有效的编码URL? http://www.google.com?q=a b给出 **http%3A%2F%2www.google.com …, 而我希望输出为 http://www.goog
Kafka MQ源连接器可以将事件从MQ带到1个Kafka主题,我们可以在Kafka MQ连接器内部进行基于消息的路由吗? 还是我们必须编写一个KStream应用程序来根据内容负载进行路由
问题内容: 我正在尝试使用具有JSON有效负载的POST请求从REST API获取JSON响应(在发送前应转换为URL编码的文本)。我已经按照一些教程实施了该过程,但是状态代码为400,但出现错误。我可能未在编码给定的JSON字符串或缺少某些内容。请帮我解决这个问题。谢谢。 这是我的代码 问题答案: 在跟踪了许多帖子和教程超过24小时后,我知道我没有正确发送URL参数。而且我还了解到使用 Apac