Apache nifi evaluateJsonPath splitJson

时间:2017-11-04 20:04:50

标签: json apache-nifi

使用ConvertRecord处理器,我已将csv文本文件转换为json文件,如下所示:

[
   {"A":1001,"B":"20170101","C":0.3},

   {"A":1001,"B":"20170102","C":0.1},
 .....]

我尝试使用评估Json Path来获得如下内容:

a: $.A
b: $.B
....

但我只得到空值。

我不确定在使用evaluateJsonPath之前是否需要使用SplitJson处理器拆分此JSON文件?如果是,我需要在处理器中输入什么内容?

我试过

$.*

但它不起作用。

或者我只需要在evaluateJsonPath处理器中使用其他JsonPath值吗?

3 个答案:

答案 0 :(得分:2)

最大,

您必须在splitJSON处理器中使用此表达式$[*]来拆分json。

之后,您可以像表达式$.A ,$.B一样使用EvaluateJSONPath来捕获内容等等。

由于

答案 1 :(得分:2)

谢谢你的回答。 我找到了解决方案。 我已经在脑海中采用了正确的方法,因此将JSON拆分为路径是正确的:

$.*

我的错误是evaluateJsonPath处理器中的拼写错误。 所以在拆分后我可以像这样评估json路径:

a: $.A

答案 2 :(得分:0)

a=input('Number:'); check=0; sum=0; counter=0; result=0; while a >=0 b=mod(a,10); for i=2:b-1 if mod(b,i)==0 check=check+1; end end if check==0 sum=sum+b; counter=counter+1; end a=a/10; check=0; end result=sum/counter; disp(result); 假设您的JSON只是一个对象记录。

你有一个清单。

$.A$[*].A会根据您的示例返回$..A的列表