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

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

מיזוג JSON

מתוזמן נעוץ נעול הועבר תכנות
6 פוסטים 2 כותבים 82 צפיות
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • י מנותק
    י מנותק
    יוסף בן שמעון
    כתב ב נערך לאחרונה על ידי יוסף בן שמעון
    #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
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
  • התחברות

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

  • התחברו או הירשמו כדי לחפש.