想象myAPICreate
需要一个JSON字符串。
public void put(Collection<SinkRecord> collection) {
for (SinkRecord record : collection) {
JSONObject recordJson = toJSON(record.value());
String recordJsonString = recordJson.toString();
myAPICreate(recordJsonString);
}
}
toJSON
是我定义的助手,它仅记录并返回JSONObject。
JSONObject json = new JSONObject()
.put("a", record.getString("a"))
.put("b", record.getString("b"))
.put("c", record.getString("c"));
我觉得我可能在这里做了很多多余的工作。是否有必要将put
中的代码转换为JSON或是否有使用转换器的方法,以使record
已经作为JSON或JSON字符串出现?然后我可以通过myAPICreate(record.value().toString())
而不必手动进行操作?
答案 0 :(得分:1)
create a SinkRecord
时,您将拥有一个带有键和值对象的键和值架构。这些对象应该是Struct
instances,并且必须使用匹配的Schema
在连接器配置中,您将随后使用JSONConverter
(或其他转换器)获取序列化的输出