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

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

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

מיזוג JSON

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

    יש לי JSON שמכיל אלפי רשומות, כל רשומה מכילה 4 נתונים שרלוונטים עבורי, מדינה, עיר, קבוצה, ושם.
    אני צריך לבנות היררכייה מהנתונים האלה, שיהיה לי רשימה של כל המדינות, ותחתיהם כל הערים, ותחתיהם כל הקבוצות וכו'.
    זה נראה בערך כך:

    [
        {
            "מדינה": "ישראל",
            "שם עיר": "אלעד",
            "שם קבוצה": "אמרי ברוך",
        },
        {
            "מדינה": "ישראל",
            "שם עיר": "ירושלים",
            "שם קבוצה": "קבוצה",
    
        },
        {
            "מזהה": "1",
            "מדינה": "אמריקה",
            "שם עיר": "בורופארק",
            "שם קבוצה": "קבוצה 3",
        },
        {
            "מזהה": "1",
            "מדינה": "ישראל",
            "שם עיר": "חיפה",
            "שם קבוצה": "קבוצה 4",
    
        },
    ]
    
    
    

    ואני מעוניין לחלץ ממנו משהו כזה:

    {
        "ישראל": {
            "אלעד": {
                "אמרי ברוך": [
                    ""
                ]
            },
            "ירושלים": {
                ...
            },
    
        },
        "אמריקה": {
            ...
        },
    }
    
    

    מה הדרך הפשוטה ביותר לעשות את זה?
    תודה רבה

    yossizY תגובה 1 תגובה אחרונה
    0
    • yossizY מחובר
      yossizY מחובר
      yossiz
      השיב ליוסף בן שמעון ב נערך לאחרונה על ידי yossiz
      #2

      @יוסף-בן-שמעון

      נסיון

      var my array = [
         ....
      ]
      myarray.reduce((newObject, entry)=>{
          newObject[entry['מדינה']] || newObject[entry['מדינה']] = {};
          newObject[entry['מדינה']][entry['עיר']] || newObject[entry['מדינה']][entry['עיר']] = {}
       ... //וכן על זה הדרך...
          newObject[entry['מדינה']][entry['עיר']][entry['שם קבוצה']].push(entry['מזהה']);
      }, {});
      

      דרך אגב, זה היה נראה הרבה יותר נקי אם היית משתמש בשמות משתנים באנגלית, לא?

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

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

        @yossiz אמר במיזוג JSON:

        תודה!!
        התכוונת לזה?:

        newObject[entry['מדינה']] = newObject[entry['מדינה']] || {};
        

        בכל אופן עזרת לי מאד!

        בקשר לשמות באנגלית, אלו הנתונים שקיבלתי , הם לא התייעצו איתי..

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

          @יוסף-בן-שמעון אמר במיזוג JSON:

          התכוונת לזה?:
          newObject[entry['מדינה']] = newObject[entry['מדינה']] || {};

          שניהם לא אותו דבר?

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

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

            @yossiz אני לא מכיר כזה תחביר, זה עובד בכלל?

            yossizY תגובה 1 תגובה אחרונה
            0
            • yossizY מחובר
              yossizY מחובר
              yossiz
              השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
              #6

              @יוסף-בן-שמעון אמר במיזוג JSON:

              זה עובד בכלל?

              לא 🙂
              ככה זה עובד:

              newObject[entry['מדינה']] || (newObject[entry['מדינה']] = {});
              

              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

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

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

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

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