نمایشگر درختی JSON

پیمایش JSON بزرگ در درخت بازشونده، با جست‌وجو و کپی مسیر JSONPath هر گره.

رایگان
همه‌ی این ابزارها داخل مرورگر شما اجرا می‌شوند؛ هیچ داده‌ای به سرور ما ارسال نمی‌شود.

روی هر گره کلیک کنید تا مسیرش را ببینید؛ با کلیدهای جهت‌دار حرکت کنید و با چپ و راست شاخه‌ها را ببندید و باز کنید. Enter در کادر جست‌وجو به نتیجهٔ بعدی می‌رود.

درباره‌ی نمایشگر درختی JSON

JSON.parse مرورگر ترتیب کلیدهایی که شبیه عدد هستند را جابه‌جا می‌کند، از دو کلید هم‌نام فقط آخری را نگه می‌دارد و هر عدد صحیح بزرگ‌تر از ۲ به توان ۵۳ را گرد می‌کند؛ یعنی یک payload می‌تواند در کنسول سالم به نظر برسد و باز هم غلط باشد. این ابزار پارسر RFC 8259 خودش را دارد، پس درخت ترتیب اصلی اعضا را نشان می‌دهد، کلید تکراری را برچسب می‌زند و رقم‌های عدد بزرگ را دست‌نخورده چاپ می‌کند. همه‌ی کار هم داخل مرورگر انجام می‌شود.

راهنمای استفاده از نمایشگر درختی JSON

  1. 1

    JSON را در کادر ورودی بچسبانید یا دکمهٔ «نمونه» را بزنید؛ درخت بدون دکمهٔ اجرا و با کمی تأخیر پس از تایپ ساخته می‌شود.

  2. 2

    نوار آمار بالای درخت تعداد گره، عمق، کلید، شیء، آرایه و زمان تجزیه را نشان می‌دهد و اگر کلید تکراری باشد، پیل نارنجی شمار آن را اضافه می‌کند.

  3. 3

    برای باز و بسته کردن هر شاخه روی مثلث کنارش کلیک کنید یا روی سطر دوبار بزنید؛ دکمه‌های «باز کردن همه» و «بستن همه» کل درخت را کنترل می‌کنند و کلیدهای جهت‌دار هم داخل درخت کار می‌کنند.

  4. 4

    در کادر جست‌وجو عبارت را بنویسید؛ هر کلید و مقدار منطبق هایلایت می‌شود، شاخه‌های والدش خودکار باز می‌شوند و با Enter یا دکمه‌های بالا و پایین بین نتایج می‌چرخید.

  5. 5

    روی گرهٔ موردنظر کلیک کنید تا مسیر JSONPath و نوع، طول یا تعداد فرزندش پایین صفحه بیاید، سپس «کپی مسیر» یا «کپی مقدار» را بزنید.

پرسش‌های متداول

آیا JSON من جایی آپلود می‌شود؟

خیر. تجزیه، رسم درخت، جست‌وجو و کپی همگی با جاوااسکریپت در همان مرورگر شما انجام می‌شود و هیچ درخواستی با محتوای ورودی به سرور فرستاده نمی‌شود. برای payload های حاوی داده‌ی مشتری هم بی‌خطر است.

چرا کنار عدد بزرگم برچسب «صحیح ناامن» خورده؟

چون آن عدد از محدودهٔ امن اعداد صحیح در جاوااسکریپت (۲ به توان ۵۳ منهای ۱) گذشته است. این ابزار رقم‌های اصلی را از متن ورودی نگه می‌دارد و «کپی مقدار» هم همان لیترال دست‌نخورده را می‌دهد، اما اگر همان داده را در کد خودتان با JSON.parse بخوانید رقم‌های آخر تغییر می‌کند؛ راه‌حل معمول این است که سمت API آن شناسه را رشته بفرستید.

کادر جست‌وجو عبارت JSONPath قبول می‌کند؟

نه، و این رایج‌ترین سوءتفاهم دربارهٔ این ابزار است. جست‌وجو یک تطبیق زیررشته‌ای ساده و بدون حساسیت به بزرگی و کوچکی حروف روی نام کلیدها و مقادیر است؛ JSONPath فقط خروجی است، یعنی مسیر گره‌ای که انتخاب کرده‌اید تا در کد یا در jq استفاده کنید.

برای فایل‌های خیلی بزرگ چه محدودیتی دارد؟

ورودی تا ۲ میلیون کاراکتر، حداکثر ۱۵۰٬۰۰۰ گره و ۲۰۰ سطح تودرتو پذیرفته می‌شود و در هر لحظه فقط ۶۰۰۰ سطر رسم می‌شود؛ بقیه پس از بستن شاخه‌ها یا جست‌وجو دیده می‌شوند. رشته‌های بلندتر از ۱۶۰ کاراکتر هم در درخت کوتاه‌شده نمایش داده می‌شوند، ولی «کپی مقدار» همیشه مقدار کامل را می‌دهد.