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

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

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

מיזוג JSON

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

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

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

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

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

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

    yossizY תגובה 1 תגובה אחרונה
    0
    • י יוסף בן שמעון

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

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

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

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

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

      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
      • yossizY yossiz

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

        נסיון

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

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

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

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

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

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

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

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

        yossizY תגובה 1 תגובה אחרונה
        1
        • י יוסף בן שמעון

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

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

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

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

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

          yossizY מנותק
          yossizY מנותק
          yossiz
          כתב ב נערך לאחרונה על ידי
          #4

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

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

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

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

          י תגובה 1 תגובה אחרונה
          0
          • yossizY yossiz

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

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

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

            י מנותק
            י מנותק
            יוסף בן שמעון
            כתב ב נערך לאחרונה על ידי
            #5

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

            yossizY תגובה 1 תגובה אחרונה
            0
            • י יוסף בן שמעון

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

              yossizY מנותק
              yossizY מנותק
              yossiz
              כתב ב נערך לאחרונה על ידי
              #6

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

              זה עובד בכלל?

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

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

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

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


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

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

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