Supposons que j'ai un journal JSON qui affiche les informations suivantes:Spécifiez JSONpaths alternatives
{"timestamp":"someText","alert":"someMoreText","Level":someInt}
Et j'ai un autre journal JSON qui émet le même genre d'information, mais avec différents de l'étiquette:
{"ts":"someText","alert":"someMoreText","Level":someInt}
La différence étant "timestamp" et "ts" ont des noms différents mais des informations de même qualité. Comment faire référence, avec un appel de chemin JSON, à l'un des noms alternatifs, si une telle technique est possible?
Ainsi, par exemple, si je voulais faire référence à l'horodatage des deux journaux, je voudrais utiliser quelque chose comme $.[timestamp|ts]
les évaluer séparément, puis utiliser 'ifElse' dans le langage d'expression https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#ifelse – daggett
@daggett Ceci est valide, mais c'est inefficace pour la portée actuelle. Le but était d'optimiser ceci en n'ayant pas à utiliser le processeur d'attributs de mise à jour. Les expressions NiFi ne sont pas supportées dans le processeur EvaluateJSONPath à partir de NiFi 1.3.0 et je voulais voir si je pouvais contourner le problème via cette question. – Jouster500
Je ne vois pas dans la documentation de jsonpath une telle possibilité. Si vous voulez minimiser le nombre de processeurs, utilisez le processeur executescript avec groovy ou javascript. Les deux ont de bonnes fonctionnalités pour travailler avec JSON. – daggett