JSON Toolkit

שאלות נפוצות

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

25 מאמרים

מאמרים בקטגוריה זו

האם JSON יכול להכיל הערות

ל-RFC 8259 אין תחביר להערות, כך ש-// והערות בלוק גורמות ל-JSON.parse לזרוק שגיאה. השתמשו ב-JSON5 או JSONC, בשדה _comment, ב-description של Schema או ב-YAML במקום.

מתחילכ-3 דקות קריאהעודכן 2026-10-30

למה פסיק בסוף שובר את JSON

פסיקים בסוף חוקיים באובייקטים ליטרליים של JavaScript והרסניים ב-JSON. הנה השגיאה המדויקת, הדקדוק של RFC 8259 שגורם לה, ושלושה תיקונים שבאמת מחזיקים.

מתחילכ-3 דקות קריאהעודכן 2026-10-30

האם BOM שובר את פירוס JSON

BOM של UTF-8 הוא שלושה בייטים בלתי נראים, כך ש-JSON.parse נכשל בתו הראשון ומדווח שורה 1 עמודה 1, מה שגורם לקובץ להיראות ריק או קטוע.

מתחילכ-4 דקות קריאהעודכן 2026-10-30

האם NaN או Infinity יכולים להופיע ב-JSON

ל-JSON יש רק ליטרלים של מספרים עשרוניים. JSON.stringify הופך NaN ו-Infinity ל-null בלי אזהרה, ולכן "שדה המספר לפעמים null" ממשיך להופיע בפרודקשן.

מתחילכ-3 דקות קריאהעודכן 2026-10-30

למה מספרים שלמים גדולים מאבדים דיוק

מספרים שלמים מעל 2^53-1 מאבדים דיוק ב-JSON.parse. מזהי snowflake, מספרי הזמנה ו-bigints ממסד נתונים כולם נתקלים בזה, אז שמרו אותם כמחרוזות לאורך כל הדרך.

בינוניכ-4 דקות קריאהעודכן 2026-11-04

למה סינית הופכת ל-\u4e2d\u6587

קידוד \u4e2d\u6587 הוא Unicode חוקי, לא כשל בקידוד. שיבוש תווים אמיתי נראה אחרת, וההבחנה ביניהם קובעת מה באמת צריך לתקן.

מתחילכ-3 דקות קריאהעודכן 2026-10-30

JSON מול JSON5 מול JSONC

על-קבוצות קפדניות לפי הסדר: JSONC מוסיף הערות; JSON5 מוסיף גרשיים בודדים, מפתחות בלי גרשיים, פסיקים בסוף ומספרים הקסדצימליים. בחירה שגויה שוברת API, לא את העורך.

מתחילכ-4 דקות קריאהעודכן 2026-10-30

JSON או YAML

JSON מפריד בעזרת סוגריים מסולסלים ו-YAML בעזרת הזחה: מכונות מקבלות JSON, בני אדם שעורכים קונפיגורציה מקבלים YAML. הערות, anchors ומבנה של כמה מסמכים לא שורדים את ההמרה.

מתחילכ-4 דקות קריאהעודכן 2026-10-30

JSONPath או JSON Pointer

JSON Pointer הוא כתובת ייחודית שאפשר לאחסן כמפתח; JSONPath היא שפת שאילתות. בחירה בדבר הלא נכון שוברת עדכוני קונפיגורציה או ממציאה JSONPath שבור.

בינוניכ-4 דקות קריאהעודכן 2026-10-30

מה JSON Schema באמת פותר

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

בינוניכ-4 דקות קריאהעודכן 2026-10-30

draft-07 או 2020-12

2020-12 הוא העדכני ומוסיף `$defs`, `prefixItems` ו-`unevaluatedProperties`, אבל כלים רבים עדיין מדברים רק draft-07. בחרו לפי מה שכל שרשרת הכלים שלכם תומכת בו.

מתקדםכ-4 דקות קריאהעודכן 2026-10-30

יצירת טיפוסי TypeScript מסכמה

json-schema-to-typescript ו-quicktype מוציאים `.d.ts` בפקודה אחת, אבל זו טיוטה: אופציונליות, unions, additionalProperties ותאריכים צריכים מעבר אנושי.

בינוניכ-4 דקות קריאהעודכן 2026-10-30

האצת פירוס של JSON גדול

אופטימיזציה בסדר הלא נכון הופכת כל החלפת ספרייה לחסרת תועלת. מדדו רשת, פירוס ורינדור בנפרד, ואז צמצמו פירוסים, כווצו payloads ועברו ל-streaming.

בינוניכ-5 דקות קריאהעודכן 2026-10-30

מהי הזרקת __proto__

JSON.parse מתייחס ל-__proto__ כמפתח רגיל; הנזק קורה ב-merge רקורסיבי שכותב ל-Object.prototype, כך שכל אובייקט יורש מאפיינים של התוקף.

מתקדםכ-5 דקות קריאהעודכן 2026-10-30

איך XSS קורה דרך JSON

JSON לא מבצע שום דבר בעצמו. XSS קורה ברגע שמתייחסים אליו כ-HTML — חיבור מחרוזות בצד השרת, innerHTML בצד הלקוח, או הטמעת JSON ישירות בתג script.

בינוניכ-4 דקות קריאהעודכן 2026-10-30

האם מעצב JSON מקוון מעלה את הנתונים שלי

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

מתחילכ-3 דקות קריאהעודכן 2026-10-30

כמה גדול קובץ JSON יכול דפדפן לעבד

אין מגבלה קבועה; האילוץ הוא תקציב הזיכרון של הטאב. קובץ של 20MB הופך בדרך כלל ל-60–100MB אחרי פירוס, וה-DOM המודגש יכול להכפיל זאת שוב.

מתחילכ-3 דקות קריאהעודכן 2026-10-30

איזה מבנה צריכה תגובת API

אובייקטים חשופים הם נקיים עד שצריך metadata; envelopes מלאים בטוחים אבל מילוליים. ברוב הפרויקטים השתמשו בסטטוס HTTP לתוצאה וב-envelope יציב לנתונים.

בינוניכ-4 דקות קריאהעודכן 2026-10-30

איזה פורמט לחותמות זמן ב-JSON

למספרי epoch ולמחרוזות ISO יש כל אחד פשרות, אבל ערבוב שלהם הוא מה שבאמת שובר דברים. השתמשו ב-ISO 8601 עם offset, אחסנו UTC, והציגו באזור הזמן של המשתמש.

מתחילכ-3 דקות קריאהעודכן 2026-10-30

null או השמטת השדה

`null` אומר שהשדה קיים בלי ערך; השמטה אומרת שהשדה לא קיים. גופי PATCH, מיזוג קונפיגורציה ומילוי מוקדם של טפסים הם המקומות שבהם ההבדל נושך.

בינוניכ-3 דקות קריאהעודכן 2026-10-30