#json #powerquery
#json #powerquery
Вопрос:
Мне нужно извлечь параметр из удаленного JSON и добавить его в качестве параметра в запрос.
Я следил за онлайн-уроком, где значение берется из значения корневого уровня, где, поскольку мое значение находится в массиве.
Пример: обучающий JSON:
"value" : "/v1/projects/123456/contacts?page_size=500amp;vars[Validated][exists]=amp;marker=abc123"
JSON, который возвращает моя служба:
"resources": [
{
"rel": "next",
"href": "/v1/projects/123456/contacts?page_size=500amp;vars[Validated][exists]=amp;marker=abc123"
}
Если я попытаюсь получить:
Value = Json[#"resources"][0][#"href"]
это неправильный тип.
Если я получу:
Value = Json[#"resources"][0]
он получает список.
Если я попытаюсь:
Value = Json[#"resources"][0][#"href"]
Я получаю сообщение об ошибке:
Expression.Error: We cannot apply field access to the type List.
Details:
Value=[List]
Key=0
Как мне настроить таргетинг на значение href?
Ответ №1:
Попробуйте поменять [0]
местами » для {0}
» . Итак, что-то вроде:
let
json = [
resources = {
[
rel = "next",
href = "/v1/projects/123456/contacts?page_size=500amp;vars[Validated][exists]=amp;marker=abc123"
]
}
],
href = json[resources]{0}[href]
in
href
В M вы используете фигурные скобки {}
для доступа к элементам внутри «списков» (аналогично массивам в JavaScript) и квадратные скобки []
для доступа к элементам внутри «записей» (аналогично объектам в JavaScript).
Это немного отличается от JavaScript, где можно использовать квадратные скобки []
для поиска элементов как в массивах, так и в объектах.
Подробные сведения: