<sect1 id="zend.json.objects">
    <title>אובייקטי JSON</title>
    <para>
        כשמקודדים אובייקטים של PHP ב JSON, כל הערכים המוגדרים ל public לאותו אובייקט יקודדו באובייקט ה JSON.
    </para>
    <para>
        JSON לא מאפשר שיוך אובייקטים, לכן לא מומלץ לקודד אובייקטים אשר משוייכים או מיוחסים לאובייקטים אחרים.
        אם ישנה בעיה עם רקורסיה באובייקטים, <code>Zend_Json::encode()</code> ו <code>Zend_Json_Encoder::encode()</code> מאפשרים הזנה של פרמטר שני אופציונלי לבדיקת רקורסיה;
        אם התבצע קידוד לאובייקט פעמיים, חריג יזרק אשר יודיע על כך.
    </para>
    <para>
        פענוח אובייקטים אשר קודדו ב JSON מציב קושי נוסף, מאחר ואובייקטים ב JS דומים למערכים אסוציאטיבים ב PHP.
        יש הממליצים שמזהה יחודי לכל מחלקה צריך להכנס לאובייקט כדי ש JSON יוכל לפענח את זה טוב יותר.
        אחרים מרגישים שזה יכול להוות כסכנה לכל המערכת.
    </para>
    <para>
        כברירת מחדל, <code>Zend_Json</code> יפענח אובייקטים של JSON בתור מערכים אסוציאטיבים. למרות, שניתן להעביר פרמטר שני אופציונלי אשר יחזיר אובייקט במקום מערך, לדוגמא:
    </para>
    <programlisting role="php"><![CDATA[
// Decode JSON objects as PHP objects
$phpNative = Zend_Json::decode($encodedValue, Zend_Json::TYPE_OBJECT);
]]>
    </programlisting>
    <para>
        אובייקטים אשר יפוענחו יוחזרו כאובייקטים של <code>StdClass</code> עם ערכים המשוייכים ל
        key/value באובייקט של JSON.
    </para>
    <para>
        ההמלצה של Zend Framework היא שכל מתכנת יחליט בעצמו כיצד לפענח אובייקטים של JSON.
    </para>
</sect1>
<!--
vim:se ts=4 sw=4 et:
-->
