我正在调用一个 API,它返回一个 JSON 对象作为流文件形式的响应正文。我想统计流文件中的总记录数。
我尝试过像CalculateRecordStats 这样的记录处理器需要一个记录读取器,而这又需要一个模式。但我没有架构。那么有没有更好的方法呢?
{
"result":[
{
"key1": "value1",
"key2": "value2"
},
{
"key1": "value1",
"key2": "value2"
}
]
}
Run Code Online (Sandbox Code Playgroud)
这是 api 响应正文返回的示例 JSON。记录是列表中的项目,它是“结果”键的值
在上面的示例中,有 2 条记录(列表中有 2 项)。这就是我想要计算的。
谢谢安迪的回复。我从Hortonworks 社区讨论中找到了另一个答案,我觉得这个答案非常简单。
它是使用“EvaluateJSONPath”处理器并设置新的流文件属性
resultCount = $.result.length()
Run Code Online (Sandbox Code Playgroud)
稍后可以验证此属性 ${resultCount} 的正确性。