דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. לולאה בJSON

לולאה בJSON

מתוזמן נעוץ נעול הועבר תכנות
10 פוסטים 4 כותבים 174 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ש מנותק
    ש מנותק
    ש.ב.ח.
    כתב ב נערך לאחרונה על ידי
    #1

    שלום למומחים.

    ביצעתי AJAX לקבל JSON מסויים
    הJSON מקונן בכמה רמות עומק

    אני מעוניין לבצע עליו לולאה בהתאם לבחירת המשתמש
    כלומר:
    בוא נאמר שיש שלושה ילדים לJSON - לכל אחד מהם ילדים וצאצאים וצאצאי צאצאים (בקיצור נחת מכולם!!! 🙂 )
    הלקוח בוחר בכפתור בערך שהוא בעצם השם של אחד מהילדים הראשיים.
    ברגע זה הוא יקבל מספר אלמנטים שמכילים ערכים מתוך הצאצאים והצאצאי צאצאים וכו'....

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

    תגובה 1 תגובה אחרונה
    0
    • dovidD מחובר
      dovidD מחובר
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #2

      ניסית משהו?
      תכתוב קוד ותראה איפה נתקעת.
      אחרי שקיבלת את התשובה מהשרת בפורמט JSON מעתה ואילך זה אובייקט JS.
      בשביל לגשת לכלל המאפיינים של אובייקט, אפשר לגשת אל אוסף המפתחות ע"י Object.keys או לעשות לולאת for .. in.

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      ש 2 תגובות תגובה אחרונה
      3
      • ש מנותק
        ש מנותק
        ש.ב.ח.
        השיב לdovid ב נערך לאחרונה על ידי
        #3

        @dovid אמר בלולאה בJSON:

        for .. in.

        אז זהו שעשיתי forache, אני מבין ששגיתי בהכללה בין מערך לאובייקט.. כן?

        תגובה 1 תגובה אחרונה
        0
        • י מנותק
          י מנותק
          יוסף בן שמעון
          כתב ב נערך לאחרונה על ידי
          #4

          @dovid אמר בלולאה בJSON:

          נכון, forEach עובד רק על מערכים

          תגובה 1 תגובה אחרונה
          0
          • ש מנותק
            ש מנותק
            ש.ב.ח.
            השיב לdovid ב נערך לאחרונה על ידי
            #5

            @dovid אמר בלולאה בJSON:

            לעשות לולאת for .. in.

            אבל זה גם מחזיר לי רק את המפתח בלי הידלים שלו.

            הנה האובייקט:

            var income =
            {
            "הכנסות": {
                "1": {
                    "name": "חודשית קבועה",
                    "content": {
                            "111": {
                                "name": "משכורות בעל",
                                "settings": {
                                         "day_field": true,
                                         "month_field": false
                                            },
                                "count_rows_registered": 1,
                                "rows_registered": [
                                    {
                                    "index_row": 1,
                                    "date_registered": "12",
                                    "type": "1212",
                                    "ID_type": "1",
                                    "category_name": "12121",
                                    "ID_category": "111",
                                    "dete_in_payment": "לא קבוע",
                                    "Amount": "12",
                                    "method_payment": "12"
                                    }
                                ]
                            },
                            "114": {
                                "name": "משכורות אשה",
                                "settings": {
                                        "day_field": true,
                                        "month_field": true
                                        },
                                "count_rows_registered": null,
                                "rows_registered": [ ]
                            }
                    }
                },
            
                "2": {
                    "name": "חודשית משתנה",
                    "content": {
                            "121": {
                                "name": "משכורות בעל",
                                "settings": {
                                    "day_field": true,
                                    "month_field": true
                                    },
                                "count_rows_registered": null,
                                "rows_registered": [ ]
                            },
                            "124": {
                                "name": "משכורות אשה",
                                "settings": {
                                    "day_field": true,
                                    "month_field": true
                                },
                                "count_rows_registered": null,
                                "rows_registered": [ ]
                            },
                        "127": {
                            "name": "משכורת נוספת",
                            "settings": {
                                "day_field": true,
                                "month_field": true
                            },
                            "count_rows_registered": null,
                            "rows_registered": [ ]
                        },
                    }
                }
                
            },
                "הוצאות": {
                "1": {
                    "name": "חודשית קבועה",
                    "content": {
                            "111": {
                                "name": "משכורות בעל",
                                "settings": {
                                         "day_field": true,
                                         "month_field": false
                                            },
                                "count_rows_registered": 1,
                                "rows_registered": [
                                    {
                                    "index_row": 1,
                                    "date_registered": "12",
                                    "type": "1212",
                                    "ID_type": "1",
                                    "category_name": "12121",
                                    "ID_category": "111",
                                    "dete_in_payment": "לא קבוע",
                                    "Amount": "12",
                                    "method_payment": "12"
                                    }
                                ]
                            },
                            "114": {
                                "name": "משכורות אשה",
                                "settings": {
                                        "day_field": true,
                                        "month_field": true
                                        },
                                "count_rows_registered": null,
                                "rows_registered": [ ]
                            }
                    }
                },
            
                "2": {
                    "name": "חודשית משתנה",
                    "content": {
                            "121": {
                                "name": "משכורות בעל",
                                "settings": {
                                    "day_field": true,
                                    "month_field": true
                                    },
                                "count_rows_registered": null,
                                "rows_registered": [ ]
                            },
                            "124": {
                                "name": "משכורות אשה",
                                "settings": {
                                    "day_field": true,
                                    "month_field": true
                                },
                                "count_rows_registered": null,
                                "rows_registered": [ ]
                            },
                        "127": {
                            "name": "משכורת נוספת",
                            "settings": {
                                "day_field": true,
                                "month_field": true
                            },
                            "count_rows_registered": null,
                            "rows_registered": [ ]
                        },
                    }
                }
                
            }
            };
            

            וזה הלולאה לעת עתה

            for(let type in income.הכנסות){
              
              var no = type;
              
              var name = type.name;
               
              console.log(name);
            }
            

            הname מחזיר undefined

            ברור לי שחסר לי משהו בfor אשמח אם מישהו יעיר את עיני.

            yossizY תגובה 1 תגובה אחרונה
            0
            • dovidD מחובר
              dovidD מחובר
              dovid ניהול
              כתב ב נערך לאחרונה על ידי
              #6

              נכון זה נותן לך את המפתח ועם המפתח אתה יכול לפתוח את הדלת:

              console.log(income.הכנסות[type]);
              

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              ש תגובה 1 תגובה אחרונה
              3
              • yossizY מחובר
                yossizY מחובר
                yossiz
                השיב לש.ב.ח. ב נערך לאחרונה על ידי
                #7
                פוסט זה נמחק!
                תגובה 1 תגובה אחרונה
                0
                • ש מנותק
                  ש מנותק
                  ש.ב.ח.
                  השיב לdovid ב נערך לאחרונה על ידי
                  #8

                  @dovid אמר בלולאה בJSON:

                  נכון זה נותן לך את המפתח ועם המפתח אתה יכול לפתוח את הדלת:

                  טוב,
                  כנראה שלך זה ברור שהמשתנה בלולאה מחזיק רק את הkey
                  אני די חדש בעניין וחשבתי שהוא מחזיק את כל התת משפחה של האובייקט.
                  תודה רבה על המידע.

                  dovidD תגובה 1 תגובה אחרונה
                  1
                  • dovidD מחובר
                    dovidD מחובר
                    dovid ניהול
                    השיב לש.ב.ח. ב נערך לאחרונה על ידי
                    #9

                    @ש-ב-ח לא פשוט לי (הייתי לא מזמן באותה סיטואציה) אבל ציפיתי ממך לחפש את הביטוי באמצעות גוגל (js for in).

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    ש תגובה 1 תגובה אחרונה
                    1
                    • ש מנותק
                      ש מנותק
                      ש.ב.ח.
                      השיב לdovid ב נערך לאחרונה על ידי
                      #10

                      @dovid אמר בלולאה בJSON:

                      אבל ציפיתי ממך לחפש את הביטוי באמצעות גוגל (js for in).

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

                      תגובה 1 תגובה אחרונה
                      0

                      בא תתחבר לדף היומי!
                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • דף הבית
                      • קטגוריות
                      • פוסטים אחרונים
                      • משתמשים
                      • חיפוש
                      • חוקי הפורום