אובייקטי JSON
כשמקודדים אובייקטים של PHP ב JSON, כל הערכים המוגדרים ל public לאותו אובייקט יקודדו באובייקט ה JSON.
JSON לא מאפשר שיוך אובייקטים, לכן לא מומלץ לקודד אובייקטים אשר משוייכים או מיוחסים לאובייקטים אחרים.
אם ישנה בעיה עם רקורסיה באובייקטים, Zend_Json::encode() ו Zend_Json_Encoder::encode() מאפשרים הזנה של פרמטר שני אופציונלי לבדיקת רקורסיה;
אם התבצע קידוד לאובייקט פעמיים, חריג יזרק אשר יודיע על כך.
פענוח אובייקטים אשר קודדו ב JSON מציב קושי נוסף, מאחר ואובייקטים ב JS דומים למערכים אסוציאטיבים ב PHP.
יש הממליצים שמזהה יחודי לכל מחלקה צריך להכנס לאובייקט כדי ש JSON יוכל לפענח את זה טוב יותר.
אחרים מרגישים שזה יכול להוות כסכנה לכל המערכת.
כברירת מחדל, Zend_Json יפענח אובייקטים של JSON בתור מערכים אסוציאטיבים. למרות, שניתן להעביר פרמטר שני אופציונלי אשר יחזיר אובייקט במקום מערך, לדוגמא:
אובייקטים אשר יפוענחו יוחזרו כאובייקטים של StdClass עם ערכים המשוייכים ל
key/value באובייקט של JSON.
ההמלצה של Zend Framework היא שכל מתכנת יחליט בעצמו כיצד לפענח אובייקטים של JSON.