NIFI:无法从JSON中提取值

时间:2016-11-24 16:10:33

标签: apache-nifi

最初我正在查询表以获取两个值id,payload。有效载荷字段也是一个json但是在一个字符串中。请检查下面的有效负载字符串。

{
  "schema": "http://schemas.viacom.com/what/is/the/path#",
  "op": "delete",
  "entity": "movie",
  "entity_identifier": {
    "series_code": 53709,
    "episode_code": 1
  },
  "entity_vmid": "",
  "short_name": "",
  "title": ""
}

我想要series_code和episode_code值。我试过以下方式但没有用

  1. ExecuteSQL - > ConvertAvrotoJSON - > EvaluateJSON($。payload.entity_identifier.series_code)
  2. ExecuteSQL - > ConvertAvrotoJSON - > AttributestoJSON - > EvaluateJSON
  3. 请帮忙。

1 个答案:

答案 0 :(得分:3)

您可以使用EvaluateJsonPath处理器根据流文件的内容评估JsonPath表达式。您要为每个要提取的值添加一个用户定义的属性。将Destination值设置为flowfile-attribute以将值提取到将添加到流文件的属性中,或flowfile-content以生成将提取的值作为唯一内容的新流文件。

鉴于您提供的JSON,您将使用的两个路径表达式是:

  • $.entity_identifier.series_code - > 53709
  • $.entity_identifier.episode_code - > 1