使用NiFi vs.curl发布JSON时出错
我看到NiFi的InvokeHTTP处理器发布json数据的方式和curl发布json数据的方式之间有着非常细微的区别 问题是,当我记录数据时,数据似乎是相同的。。。但数据呈现方式不同 有人知道会出什么问题吗?谢谢大家! CURL——有效;正确的打印输出和渲染使用NiFi vs.curl发布JSON时出错,json,curl,apache-nifi,Json,Curl,Apache Nifi,我看到NiFi的InvokeHTTP处理器发布json数据的方式和curl发布json数据的方式之间有着非常细微的区别 问题是,当我记录数据时,数据似乎是相同的。。。但数据呈现方式不同 有人知道会出什么问题吗?谢谢大家! CURL——有效;正确的打印输出和渲染 curl-X POST-H“内容类型:application/json”-d'{“responseID”:“a1b2c3”,“responseData”:{“signals”:[“a”,“b”,“c”]}本地主机:8998/userInp
curl-X POST-H“内容类型:application/json”-d'{“responseID”:“a1b2c3”,“responseData”:{“signals”:[“a”,“b”,“c”]}本地主机:8998/userInput
Web服务器应用程序打印输出
响应ID:a1b2c3
响应数据:{signals=[a,b,c]}
模板渲染
NiFi——不工作;打印输出正确,但渲染不正确
a1b2c3
响应数据:{signals=[a,b,c]}
模板渲染
您需要这种json:
{“responseID”:“a1b2c3”,“responseData”:{“信号”:[“a”、“b”、“c”]}
但在nifi中,您构建了这个:
{“responseID”:“a1b2c3”,“responseData”:“{signals=[a,b,c]}”
这意味着创建responseData
就像创建字符串“{signals=[a,b,c]}”
一样,但需要一个对象
在nifi中,AttributesToJSON处理器只创建一个级别对象,因此您可以创建一系列AttributesToJSON->EvaluateJsonPath->AttributesToJSON
来创建嵌套的json对象
或者将
ExecuteStript
与javascript
或groovy
语言一起使用-两者都有很好的语法来构建json。我将尝试一下。我一直在构建类似NiFi JSON的{“signals”:[“a”、“b”、“c”]}
,但它将其解释为字符串。。。我读到了一些关于JoltTransferMJSON处理器的东西。。。NiFi有没有办法以编程方式处理动态、多级JSON?它是ExecuteScript
处理器。检查例如:Jolt-有一些限制检查是否可以接受: