tigtools

מעצב JSON

הדביקו JSON כדי לעצב אותו בצורה קריאה או למזער אותו. אם הוא אינו תקין, תראו מה לא בסדר והיכן. הנתונים שלכם נשארים בדפדפן שלכם.

פועל בדפדפן שלך ללא הרשמה

הזחה

איך להשתמש בו

  1. הדביקו את ה-JSON שלכם לתיבת הקלט, או לחצו על „נסו דוגמה“.
  2. בחרו את ההזחה (2 רווחים, 4 רווחים או טאב) ואם תרצו, מיינו את המפתחות לפי סדר אלפביתי.
  3. קראו את התוצאה המעוצבת בצד ימין. לחצו על Minify כדי להסיר את כל הרווחים הלבנים במקום זאת.
  4. אם יש שגיאת תחביר ב-JSON, תקנו אותה בשורה ובעמודה המוצגות, ולאחר מכן העתיקו או הורידו את התוצאה כקובץ .json.

איך זה עובד

הכלי מנתח את הטקסט באמצעות מפרש ה-JSON המובנה בדפדפן וכותב אותו מחדש עם ההזחה שתבחרו, כך שהפלט הוא תמיד JSON תקין ובעל הזחה אחידה. פעולת Minify כותבת את אותם נתונים ללא רווחים או ירידות שורה — הצורה הקטנה ביותר לשליחה ברשת או לאחסון בערך הגדרה.

כאשר הקלט אינו JSON תקין, בודק קפדני קטן מוצא את הבעיה הראשונה ומדווח על השורה והעמודה שלה, עם הסבר פשוט על טעויות נפוצות: פסיקים בסוף רשימה, מירכאות יחידות, מפתחות ללא מירכאות, הערות וערכים כמו NaN או undefined שקיימים ב-JavaScript אך לא ב-JSON. דפדפנים מנסחים את שגיאות ה-JSON שלהם בצורה שונה, לכן המיקום מחושב על ידי הכלי ולא נלקח מהודעת הדפדפן.

הכירו את מגבלות העיצוב מחדש. מספרים נשמרים כנקודה צפה ברמת דיוק כפולה, כך שמספרים שלמים הגדולים מ-9,007,199,254,740,991 (2^53 − 1), כמו חלק ממזהי מסדי נתונים, מאבדים דיוק: 9007199254740993 הופך ל-9007199254740992. שמרו מזהים כאלה כמחרוזות. אם אובייקט מכיל אותו מפתח פעמיים, נשמר רק הערך האחרון. מפתחות שנראים כמו מספרים שלמים ("1", "20") ממוקמים תמיד לפני מפתחות אחרים על ידי JavaScript, בין אם מיינתם ובין אם לא. קלט עד כמה מגה-בייט עובד; מעל כ-300,000 תווים העיצוב החי מושהה ולוחצים במקום זאת על Format, כך שההקלדה נשארת מגיבה.

דוגמאות

קריאת תגובת API

ממשק REST API מחזיר שורה אחת ארוכה, למשל {"user":{"id":7,"tags":["a","b"]}}. עיצוב עם 2 רווחים מציג כל מפתח בשורה משלו ומקנן את מערך ה-tags, כך שאפשר לראות את המבנה במבט אחד.

השוואת שני קובצי הגדרות

שני קבצי JSON של הגדרות מציגים את אותן הגדרות בסדר שונה. עצבו את שניהם כשהאפשרות “מיון מפתחות א–ת” מופעלת; הפלטים מסתדרים זה מול זה, והשוואת טקסט מציגה רק את ההבדלים האמיתיים.

איתור פסיק שגוי

קובץ package.json שנערך ידנית לא נטען. הדבקת התוכן מציגה “Trailing comma” בשורה 14, עמודה 5, ומצביעה על הפסיק שאחרי התלות האחרונה.

שאלות נפוצות

מדוע מספר גדול השתנה לאחר העיצוב?

מפרשי JSON בדפדפנים שומרים מספרים כנקודה צפה של 64 סיביות, שמייצגת מספרים שלמים במדויק רק עד 9,007,199,254,740,991. מספרים גדולים יותר מעוגלים לערך הקרוב ביותר שניתן לייצוג. אם הנתונים שלכם כוללים מזהים של 64 סיביות, העבירו אותם כמחרוזות.

האם ניתן לעצב JSON עם הערות או פסיקים בסוף רשימה (JSON5, JSONC)?

לא. הכלי פועל לפי תקן JSON (RFC 8259) בקפדנות ומדווח על הערות ופסיקים בסוף רשימה כשגיאות עם מיקומן, כך שתוכלו להסיר אותן. כך יתנהגו גם רוב מפרשי ה-JSON בשפות תכנות.

האם מיון מפתחות משנה את הנתונים שלי?

הערכים אינם משתנים, רק סדר המפתחות בתוך האובייקטים. אובייקטי JSON אינם סדורים על פי הגדרה, כך שהתוצאה שקולה. מערכים לעולם אינם מסודרים מחדש, כי הסדר שלהם משמעותי.

כמה גדול קובץ אפשר לעצב?

קבצים של כמה מגה-בייט עובדים בדפדפן שולחני עדכני. עבור קלטים של יותר מכ-300,000 תווים, הכלי ממתין עד שתלחצו על Format או Minify, במקום לעצב מחדש בכל הקלדה. פלט גדול מאוד עלול להאט את הגלילה בתיבת הטקסט בטלפונים.

האם ה-JSON שלי מועלה לאנשהו?

לא. הניתוח והעיצוב מתבצעים בדפדפן שלכם באמצעות JavaScript. הטקסט אינו נשלח לשרת ואינו נשמר.

פרטיות

ה-JSON שלכם מנותח ומעוצב רק בדפדפן שלכם. הוא אינו מועלה, אינו מתועד ואינו נשמר, ואינו נכלל בנתוני אנליטיקה.