J'ai une colonne avec le contenu suivant:Parse multivalué JSON dans GREL (openrefine)
7. {"resource":"abc"}
8. [{"resource":"def"},{"resource":"ghi"}]
J'essaie d'obtenir le contenu de "ressource":
value.parseJson().resource
Works. Si j'essaie d'obtenir le contenu de cellules à plusieurs valeurs, je ne peux pas le faire fonctionner. J'ai essayé selon https://github.com/OpenRefine/OpenRefine/wiki/GREL-Other-Functions:
forEach(value.parseJson().resource,v,v.resource)
Je reçois beaucoup d'erreurs, par exemple:
7. {"resource":"abc"} Error: First argument to forEach is not an array
8. [{"resource":"def"},{"resource":"ghi"}] Error: Object does not have any field, including resource
Et je ne peux obtenir les cellules multivaluées, mais pas les cellules à valeur unique avec celle-ci:
forEach(value.parseJson(),v,v.resource)
Si vous préférez le faire en une seule ligne, vous pouvez utiliser: ' '' if (value.startsWith ("["), forEach (valeur.parseJson(), v, v.resource) .join ("|"), valeur.parseJson(). resource) '' ' –
Merci beaucoup , ça a marché! –