You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Поиск первого вхождения объекта в массиве с нужным ключем и значением
?key
Поиск первого вхождения объекта в массиве с нужным ключем
?+key
Поиск первого вхождения объекта в массиве с нужным ключем и возврат данных по ключу
?key#num
Поиск объекта в массиве с нужным ключем и указанием номера вхождения (по умолчанию #1)
?+key#num
Поиск объекта в массиве с нужным ключем, указанием номера вхождения и возврат данных по ключу
.key
Переход на новый уровень вложенности по ключу
.#index
Переход на новый уровень вложенности по индексу массива
Примеры использования
Поиск в массиве по ключу и значению:
importjson_inlinetest_struct= [
{
"fruit": "apple",
"yummy": "true"
},
{
"vegetable": "tomato",
"yummy": "false"
},
{
"vegetable": "cucumber",
"yummy": "false"
}
]
# Поиск первого вхождения объекта в массиве с ключем vegetable и значением cucumber,# возврат значения yummy из найденной структурыjson_inline.fetch(test_struct, '?vegetable:cucumber.yummy')
# >>> "false"# Поиск первого вхождения объекта в массиве с ключем vegetable и значением tomatojson_inline.fetch(test_struct, '?vegetable:tomato')
# >>> {"vegetable": "tomato", "yummy": "false"}
Поиск в массиве по ключу:
importjson_inlinetest_struct= [
{
"animal": "cat"
},
{
"animal": "dog"
},
{
"plant": "tomato"
},
{
"thing": "book"
}
]
# Поиск первого вхождения объекта в массиве с ключем animaljson_inline.fetch(test_struct, '?animal')
# >>> {"animal": "cat"}# Поиск второго вхождения объекта в массиве с ключем animaljson_inline.fetch(test_struct, '?animal#2')
# >>> {"animal": "dog"}# Поиск второго вхождения объекта в массиве с ключем animal,# возврат значения из найденного ключа (animal)json_inline.fetch(test_struct, '?+animal#2')
# >>> "dog"
Навигация по структурам:
importjson_inlinetest_struct= [
{'item1': 'fail'},
{'item2': 'fail'},
{'item2': [
{'item4': 'fail'},
{'item4': 'fail'},
{'item5': [
{'item7': 'fail'},
{'item7': 'fail', 'item9': [
{'item10': 'fail'},
{'item10': 'fail'},
{'item10': 'fail'},
{'item10': 'fail'},
{'item10': 'success'},
]},
{'item8': 'fail'},
]},
{'item5': 'fail'},
{'item6': 'fail'},
]},
{'item3': 'fail'}
]
# Вариант с движением по массиву через индексjson_inline.fetch(test_struct, '?+item2#2.?+item5.?item7:fail#2.item9.#4.item10')
# Более надежный вариант с поиском значения путем перебораjson_inline.fetch(test_struct, '?+item2#2.?+item5.?item7:fail#2.item9.?item10:success.item10')
# >>> "success"
About
JSON Low Code - Extract data inline. Simple and powerful.