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 将映射转换为字符串。