Евалуација на JSONPath изрази во реално време
Алатката JSONPath тестер овозможува брзо и прецизно тестирање на JSONPath изрази директно врз Вашите JSON податоци. Со внесување на JSON податоците и соодветниот израз, веднаш се прикажуваат вредностите што се совпаѓаат, заедно со нивните точни патеки во рамките на оригиналната структура. Ова помага точно да разберете кои податоци ќе бидат издвоени од Вашата структура.
Процесот на евалуација се одвива локално. Вашите JSON и JSONPath се тестираат во Вашиот прелистувач, што значи дека ништо не се прикачува на BroBroGo.
Влезни параметри и ограничувања на големината
За да започнете со тестирање, алатката бара два основни влеза со дефинирани технички ограничувања:
- JSON влез: Текстуално поле каде што се лепат JSON податоците. Максималната дозволена големина за овој влез е 500.000 знаци. Доколку се надмине овој лимит, системот ја прикажува пораката: „Овој JSON е премногу голем за тестирање тука. Обидете се со помал примерок.“.
- JSONPath израз: Поле за внесување на изразот за пребарување. Максималната должина на овој израз е 4.000 знаци. Доколку изразот го надмине овој лимит, се прикажува пораката: „Овој JSONPath израз е премногу долг за тестирање тука.“.
Излезни резултати и управување со грешки
По извршување на евалуацијата, алатката ги прикажува пронајдените вредности и метаподатоци според следните правила:
- Соодветни вредности: Листа на конкретни вредности кои одговараат на поставениот израз, каде секој резултат ја содржи и точната патека од каде потекнува во изворниот JSON.
- Бројач на совпаѓања: Се прикажува како „Совпаѓања:
{count}“. Алатката прикажува максимум 200 резултати. Доколку има повеќе од 200 совпаѓања, се прикажува индикаторот „Совпаѓања: 200+“ заедно со напомената „Се прикажуваат првите{max}.“. - Детали: Наслов под кој се прикажува деталниот преглед за секое поединечно совпаѓање.
- Нема совпаѓања: Се прикажува кога ниту еден елемент не одговара на изразот.
- Исчистено.: Порака која се појавува откако ќе ги исчистите внесените полиња.
При појава на невалидни податоци или грешки во изразот, алатката ги користи следните системски пораки:
- Ако внесениот JSON има погрешна структура: „Овој JSON не е важечки.“.
- Ако синтаксата на изразот е неисправна: „Овој JSONPath израз не е важечки.“.
- Ако изразот не може да се процесира: „Не можеше да се евалуира овој JSONPath.“.
- Ако евалуацијата трае премногу долго: „Овој JSONPath се извршуваше премногу долго. Стеснете го изразот или користете помал примерок.“.
Синтакса и вообичаени JSONPath шаблони
JSONPath овозможува флексибилно навигирање низ комплексни структури на податоци преку неколку клучни синтаксни шаблони:
- Директни патеки и рекурзивно спуштање: Можете да пристапувате до специфични гранки (на пример,
$.store.book[*].title) или да користите рекурзивно спуштање со операторот..(на пример,$..price) за да ги пронајдете сите клучеви со тоа име, без разлика на нивната длабочина во објектот. - Филтри: Овозможуваат селекција на податоци врз основа на логички услови, како што е филтрирањето на цени со изразот
[?@.price < 10]. - Сечење на низи (Array Slices): Се користи за издвојување на специфични делови или опсези од индексирани низи.
Практична примена во развој и тестирање
Оваа алатка е наменета за широк спектар на технички профили кои секојдневно работат со структурирани податоци:
- API програмери: За брза проверка на тоа како нивните сервиси ги враќаат и филтрираат податоците.
- Тестери на софтвер: За валидација на одговорите од серверот и креирање точни тврдења (assertions) во тест сценаријата.
- Инженери за податоци: За анализа на шеми и подготовка на трансформации на големи JSON структури.
- Техничка поддршка: За брзо наоѓање и копирање на специфични вредности од обемни лог-датотеки без губење на нивната оригинална локација во структурата.
Често поставувани прашања
Која JSONPath синтакса можам да ја користам?
Користете вообичаени JSONPath шаблони како $.store.book[*].title, рекурзивно спуштање со $..price, филтри како [?@.price < 10] и сечење на низи.
Зошто секој резултат покажува патека?
Патеката покажува од каде потекнува вредноста во изворниот JSON, за да можете да го копирате совпаѓањето без да ја изгубите неговата локација.
Зошто некое барање може да истече (time out)?
Многу широки рекурзивни прашања или огромни примероци може да одземат премногу време. Тестерот ги запира по кратко време за да можете да го стесните изразот или да користите помал примерок.