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

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

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

לולאה בJSON

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

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

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

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

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

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

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

      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
      ש 2 תגובות תגובה אחרונה
      3
      • dovidD dovid

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

        ש מנותק
        ש מנותק
        ש.ב.ח.
        כתב ב נערך לאחרונה על ידי
        #3

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

        for .. in.

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

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

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

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

          תגובה 1 תגובה אחרונה
          0
          • dovidD dovid

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

            ש מנותק
            ש מנותק
            ש.ב.ח.
            כתב ב נערך לאחרונה על ידי
            #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
              • ש ש.ב.ח.

                @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 מנותק
                yossizY מנותק
                yossiz
                כתב ב נערך לאחרונה על ידי
                #7
                פוסט זה נמחק!
                תגובה 1 תגובה אחרונה
                0
                • dovidD dovid

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

                  console.log(income.הכנסות[type]);
                  
                  ש מנותק
                  ש מנותק
                  ש.ב.ח.
                  כתב ב נערך לאחרונה על ידי
                  #8

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

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

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

                  dovidD תגובה 1 תגובה אחרונה
                  1
                  • ש ש.ב.ח.

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

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

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

                    dovidD מנותק
                    dovidD מנותק
                    dovid
                    ניהול
                    כתב ב נערך לאחרונה על ידי
                    #9

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

                    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                    ש תגובה 1 תגובה אחרונה
                    1
                    • dovidD dovid

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

                      ש מנותק
                      ש מנותק
                      ש.ב.ח.
                      כתב ב נערך לאחרונה על ידי
                      #10

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

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

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

                      תגובה 1 תגובה אחרונה
                      0
                      תגובה
                      • תגובה כנושא
                      התחברו כדי לפרסם תגובה
                      • מהישן לחדש
                      • מהחדש לישן
                      • הכי הרבה הצבעות


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

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

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