JSONPath ტესტერის მიმოხილვა და დანიშნულება
ეს ინსტრუმენტი გაძლევთ საშუალებას შეამოწმოთ JSONPath გამოსახულებები JSON მონაცემებზე. თქვენ უბრალოდ სვამთ თქვენს JSON მონაცემებს და წერთ JSONPath გამოსახულებას ხელსაწყოში, რომელიც მყისიერად გაჩვენებთ ყველა იმ მნიშვნელობას, რომელიც შეესაბამება თქვენს გამოსახულებას, მათ გზებთან (paths) ერთად ორიგინალ JSON სტრუქტურაში. ეს გეხმარებათ ზუსტად გააანალიზოთ და გაიგოთ, თუ რას ამოიღებს თქვენი კონკრეტული JSONPath გამოსახულება მოცემული მონაცემებიდან.
ეს ხელსაწყო განსაკუთრებით სასარგებლოა მათთვის, ვისაც სჭირდება მუშაობა მონაცემებთან და სტრუქტურებთან, მათ შორის:
- API დეველოპერებისთვის
- ტესტერებისთვის
- მონაცემთა ინჟინრებისთვის
- მხარდაჭერის პერსონალისთვის
- ნებისმიერისთვის, ვისაც სურს გაიგოს, თუ რას გამოყოფს JSONPath გამოსახულება JSON მონაცემებიდან
- ნებისმიერისთვის, ვისაც სჭირდება კონკრეტული მნიშვნელობის კოპირება JSON-იდან მისი ორიგინალური მდებარეობის შენარჩუნებით
შესაყვანი მონაცემები და ლიმიტები
ინსტრუმენტის გამართული მუშაობისთვის გამოიყენება ორი ძირითადი ველი:
- JSON მონაცემები: ტექსტური არე, სადაც სვამთ თქვენს JSON მონაცემებს. ამ ველში შესაყვანი სიმბოლოების მაქსიმალური რაოდენობა შეზღუდულია 500,000 სიმბოლოთი.
- JSONPath გამოსახულება: ტექსტური ველი, სადაც წერთ ან სვამთ თქვენს გამოსახულებას. ამ ველის მაქსიმალური სიგრძე განსაზღვრულია 4,000 სიმბოლოთი.
თუ შეყვანილი მონაცემები აჭარბებს დადგენილ ლიმიტებს, სისტემა რეაგირებს შესაბამისი შეტყობინებებით. კერძოდ, თუ JSON მონაცემები აჭარბებს 500,000 სიმბოლოს, გამოჩნდება შეცდომა: „ეს JSON ზედმეტად დიდია აქ შესამოწმებლად. სცადეთ უფრო მცირე ნიმუში.“. ხოლო თუ JSONPath გამოსახულება აჭარბებს 4,000 სიმბოლოს, სისტემა აჩვენებს შეტყობინებას: „ეს JSONPath გამოსახულება ზედმეტად გრძელია აქ შესამოწმებლად“.
გამოსავალი მონაცემები და შედეგების ჩვენება
ტესტირების პროცესში ინსტრუმენტი აგენერირებს შემდეგ გამოსავალ ინფორმაციას:
- შესაბამისი მნიშვნელობები: იმ მნიშვნელობების სია, რომლებიც შეესაბამება მითითებულ JSONPath გამოსახულებას.
- დეტალები: სათაური თითოეული დამთხვევის დეტალური ხედვისთვის. თითოეული შედეგი მოიცავს იმ გზას, საიდანაც მნიშვნელობა წარმოიშვა პირველწყარო JSON-ში.
- დამთხვევა:
{count}: ნაპოვნი დამთხვევების საერთო რაოდენობა. - ნაჩვენებია პირველი
{max}: შენიშვნა, რომელიც მიუთითებს, რომ ნაჩვენებია მხოლოდ შედეგების შეზღუდული რაოდენობა. ინსტრუმენტი აჩვენებს მაქსიმუმ 200 შედეგს. თუ ნაპოვნია 200-ზე მეტი შედეგი, სისტემა აჩვენებს შეტყობინებას „დამთხვევა: 200+“ და მიუთითებს, რომ ნაჩვენებია მხოლოდ პირველი ნაწილი.
თუ ველების გასუფთავების ფუნქციას გამოიყენებთ, ეკრანზე გამოჩნდება შეტყობინება „გასუფთავდა.“. იმ შემთხვევაში, თუ გამოსახულების შესაბამისი მონაცემები ვერ მოიძებნა, სისტემა აჩვენებს შეტყობინებას „დამთხვევა არ არის.“.
შეცდომების მართვა და ვალიდაცია
მონაცემთა დამუშავებისას ხელსაწყო მკაცრად ამოწმებს როგორც JSON-ის სტრუქტურას, ისე თავად გამოსახულების სისწორეს. შეცდომების დროს ეკრანზე იბეჭდება შემდეგი შეტყობინებები:
- თუ შეყვანილი JSON მონაცემები არ არის ვალიდური, სისტემა აჩვენებს შეტყობინებას: „ეს JSON არასწორია.“.
- თუ შეყვანილი JSONPath გამოსახულება არასწორად არის ფორმულირებული, გამოჩნდება შეტყობინება: „ეს JSONPath გამოსახულება არასწორია.“.
- თუ გამოსახულების დამუშავება ან შეფასება შეუძლებელია, სისტემა აჩვენებს შეტყობინებას: „ამ JSONPath-ის დამუშავება ვერ მოხერხდა.“.
ასევე არსებობს დროის ლიმიტი (timeout) გამოსახულების შესრულებაზე. თუ JSONPath გამოსახულების დამუშავებას ძალიან დიდი დრო სჭირდება, ხელსაწყო წყვეტს პროცესს მოკლე დროის ლიმიტის გასვლის შემდეგ და აჩვენებს შეტყობინებას: „ამ JSONPath-ის შესრულებას ძალიან დიდი დრო დასჭირდა. დაავიწროვეთ გამოსახულება ან გამოიყენეთ უფრო მცირე ნიმუში.“.
მხარდაჭერილი JSONPath შაბლონები
ეს ხელსაწყო მხარს უჭერს JSONPath-ის გავრცელებულ შაბლონებს მონაცემთა ზუსტი შერჩევისთვის. მათ შორისაა:
- რეკურსიული ძებნა: მაგალითად,
$..priceშაბლონის გამოყენება სტრუქტურის სიღრმეში ელემენტების მოსაძებნად. - ფილტრები: მაგალითად,
[?@.price < 10]გამოსახულება კონკრეტული პირობის მიხედვით მონაცემების გასაფილტრად. - მასივის სლაისები (array slices): მასივებიდან ელემენტების გარკვეული დიაპაზონის ამოსაღებად.
კონფიდენციალურობა და მონაცემთა დამუშავება
თქვენი უსაფრთხოება და კონფიდენციალურობა დაცულია. თქვენი JSON მონაცემები და JSONPath გამოსახულებები მოწმდება უშუალოდ თქვენს ბრაუზერში. BroBroGo-ს სერვერებზე არანაირი მონაცემი არ იტვირთება.
ხშირად დასმული კითხვები (FAQ)
რა JSONPath სინტაქსის გამოყენება შემიძლია?
შეგიძლიათ გამოიყენოთ გავრცელებული JSONPath შაბლონები, როგორიცაა $.store.book[*].title, რეკურსიული ძებნა $..price-ით, ფილტრები [?@.price < 10] და მასივის სლაისები.
რატომ აჩვენებს თითოეული შედეგი გზას?
გზა (path) აჩვენებს, თუ საიდან მოდის მნიშვნელობა პირველწყარო JSON-ში, ასე რომ თქვენ შეგიძლიათ დააკოპიროთ დამთხვევა მისი მდებარეობის დაკარგვის გარეშე.
რატომ შეიძლება ამოიწუროს მოთხოვნის დრო (timeout)?
ძალიან ფართო რეკურსიულმა მოთხოვნებმა ან უზარმაზარმა მონაცემებმა შეიძლება დიდი დრო წაიღოს. ტესტერი აჩერებს მათ მოკლე ლიმიტის შემდეგ, რათა შეძლოთ გამოსახულების დავიწროება ან უფრო მცირე ნიმუშის გამოყენება.