json - JSON数组解析Kafka
问题描述
我有以下设置:接受 JSON POST 请求的 Rest 端点:我正在解析请求并将其作为字符串通过 Kafka 发送。但是出现解析错误 A Rest 端点接受 JSON POST 请求:
[ { "Name": "Jack", "Id": "314", "Gender": "M" } , { "Name": "John", "Id": "451", "Gender": "M" }, { "Name": "Rita", "Id": "501", "Gender": "F" } ]
我正在解析请求如下
@RequestMapping(method = RequestMethod.POST, value = "/record")
@ResponseBody
public String process(@RequestBody Map<String, Object>[] payload) throws
Exception {
String str = Arrays.toString(payload)
KafkaProd.toTopic(str);
System.out.println("Payload: " +str);
return "Record Processed";
}
str = Arrays.toString(payload) is changing it into the following format
[ { Name = Jack , Id = 314, Gender = M } , { Name = John, Id = 451,
Gender = M }, { Name = Rita, Id = 501, Gender = F } ]
When I'm trying to parse this string back into json array using json-s
imple :
JSONArray jsonArray = new JSONArray(record.value());
for (int i = 0; i < jsonArray.length(); i++) {
System.out.println("Json Objects : "
+jsonArray.getJSONObject(i).toString());
}
我收到 JSON 解析错误,因为 record.value() 不是有效的 json 数组
选项 1。如何将其转换为有效的 json 数组?选项2.如何通过kafka以正确的格式发送json数组?
我使用这些选项中的哪一个?
解决方案
而不是String str = Arrays.toString(payload)
使用杰克逊ObjectMapper
将地图转换为字符串。
推荐阅读
- python - 如何将此递归更改为循环
- http - 我的网站无法运行,无法启动 Plone。bin/instance fg 不起作用
- android - 内部使用库(Artifactory)中的Android第三方依赖项
- php - php 发送/回显 '?' 对于每个 require_once
- c# - 如何在可以将其他用户控件置于前面之前显示消息对话框
- javascript - 从 API 获取图像
- django - Django 单元测试:应该如何测试抽象模型?
- email - 如何将一些文本放入 procmail 转发的电子邮件中?
- assembly - 在汇编语言中查找奇数和偶数的总和
- javascript - NodeJS-App - DOM 操作?