JSON数组解析Kafka
JSON Array Parsing Kafka
我有以下设置:
接受 JSON POST 请求的 Rest 端点:
我正在解析请求并将其作为 String 通过 Kafka 发送。
但是得到解析错误
接受 JSON POST 请求的 Rest 端点:
[ { "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)
使用 Jackson ObjectMapper
将映射转换为字符串。
我有以下设置: 接受 JSON POST 请求的 Rest 端点: 我正在解析请求并将其作为 String 通过 Kafka 发送。 但是得到解析错误 接受 JSON POST 请求的 Rest 端点:
[ { "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)
使用 Jackson ObjectMapper
将映射转换为字符串。