У меня есть столбец со следующим содержанием:Анализировать многозначные JSON в Grel (OpenRefine)
7. {"resource":"abc"}
8. [{"resource":"def"},{"resource":"ghi"}]
Я пытаюсь получить содержимое "ресурс":
value.parseJson().resource
Works. Если я попытаюсь получить содержимое многозначных ячеек, я не могу заставить его работать. Я попытался согласно https://github.com/OpenRefine/OpenRefine/wiki/GREL-Other-Functions:
forEach(value.parseJson().resource,v,v.resource)
Я получаю много ошибок, например:
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
И я могу получить только многозначные клетки, но не отдельные клетки значения с этим:
forEach(value.parseJson(),v,v.resource)
Если вы предпочитаете делать это в одной строке, вы можете использовать: ' '' if (value.startsWith ("["), forEach (value.parseJson(), v, v.resource) .join ("|"), value.parseJson(). resource) '' ' –
Большое спасибо , это сработало! –