2017-05-12 1 views
0

Iam은 Oracle JET를 사용하여 datepicker를 구현합니다 .JET 요리 책은 JSON 파일이있는 샘플 Datapicker를 다음과 같이 제공합니다. 내가 JSON 파일을 변환 할 수있는 방법 Javascript를 사용하여 JSON 형식을 다른 형식으로 변환하는 방법은 무엇입니까?

[ 
{ 
    "YEAR":"2017", 
    "MONTH":"1", 
    "DAY":[ 
    { 
     "N_DAYS":"25", 
     "className":"holiday" 
    }, 
    { 
     "N_DAYS":"25", 
     "className":"holiday" 
    } 
] 

     }, 
    ]; 

아래 내가 JET 요리 책에서 제공하는 같은 하나 위의 나머지 서비스에서 얻을로 내 나머지 서비스에서 얻을

"Holidays": { 
    "*": { 
    "1": { 
     "14": { 
      "className": "holiday" 

     }, 
     "26": { 
      "className": "holiday" 

     } 
    } 
    } 

그리고 JSON 파일입니다

+0

당신은 무엇을 시도 k는? 질문에 [mcve]를 추가 할 수 있습니까? – evolutionxbox

+0

코드를 사용해 보셨습니까? –

+0

나는 피곤했다. 그러나 그것은 잘되지 않았다. 간단한 형식으로 잘 작동했습니다. – CodeWriter

답변

1

myStuff = [ 
 
    { 
 
    "YEAR":"2017", 
 
    "MONTH":"1", 
 
    "DAY":[ 
 
     { 
 
      "N_DAYS":"14", 
 
      "className":"holiday" 
 
     }, 
 
     { 
 
      "N_DAYS":"26", 
 
      "className":"holiday" 
 
     } 
 
    ] 
 
    }, 
 
]; 
 

 
Holidays = { 
 
    '*': { } 
 
} 
 

 
for (var i = 0; i < myStuff.length; i++) { 
 
    var month = myStuff[i].MONTH; 
 
    for (var j = 0; j < myStuff[i].DAY.length; j++) { 
 
    if (typeof Holidays['*'][myStuff[i].MONTH] == 'undefined') { 
 
     Holidays['*'][month] = {}; 
 
    } 
 
    
 
    Holidays['*'][myStuff[i].MONTH][myStuff[i].DAY[j].N_DAYS] = { 
 
     className: myStuff[i].DAY[j].className 
 
    } 
 
    } 
 
} 
 

 
Holidays = { Holidays: Holidays } 
 
console.log(Holidays);

+0

그냥 싫은 기분이지만, '\ *'는 YEAR 필드가 사용되는 곳이라고 생각합니다. (그리고 그것이 '\ *'일 때, 그것은 '모든 년'을 의미한다) – tevemadar

+0

단순한 남자. 나는 출력 예제를 본다.))) –

+0

정말 고마워요 !!!! , 잘 작동했으며 빠른 응답을 해 주셔서 감사합니다. – CodeWriter

0

그리고 여기는 바이올린 린입니다. https://fiddle.jshell.net/q80212b7/1/

var myStuff= [ { 
 
    "YYYY_YEAR" : "2013", 
 
    "MMM_MONTH" : "06", 
 
    "DAY_OUT" : { 
 
     "DAY_OUT_ITEM" : { 
 
     "N_DAYS" : "06", 
 
     "CLASSNAME" : "Holiday", 
 
     "TOOLTIP" : "Lalat Al Miraj" 
 
     } 
 
    } 
 
    }, { 
 
    "YYYY_YEAR" : "2017", 
 
    "MMM_MONTH" : "06", 
 
    "DAY_OUT" : { 
 
     "DAY_OUT_ITEM" : [ { 
 
     "N_DAYS" : "06", 
 
     "CLASSNAME" : "Holiday", 
 
     "TOOLTIP" : "Lalat Al Miraj" 
 
     } ] 
 
    } 
 
    }, { 
 
    "YYYY_YEAR" : "2013", 
 
    "MMM_MONTH" : "01", 
 
    "DAY_OUT" : { 
 
     "DAY_OUT_ITEM" : [ { 
 
     "N_DAYS" : "01", 
 
     "CLASSNAME" : "Holiday", 
 
     "TOOLTIP" : "New Year's Day" 
 
     }, { 
 
     "N_DAYS" : "24", 
 
     "CLASSNAME" : "Holiday", 
 
     "TOOLTIP" : "Milad Un Nabi" 
 
     } ] 
 
    } 
 
    }, { 
 
    "YYYY_YEAR" : "2017", 
 
    "MMM_MONTH" : "01", 
 
    "DAY_OUT" : { 
 
     "DAY_OUT_ITEM" : [ { 
 
     "N_DAYS" : "01", 
 
     "CLASSNAME" : "Holiday", 
 
     "TOOLTIP" : "New Year's Day" 
 
     }, { 
 
     "N_DAYS" : "24", 
 
     "CLASSNAME" : "Holiday", 
 
     "TOOLTIP" : "Milad Un Nabi" 
 
     } ] 
 
    } 
 
    }]; 
 

 
    
 

 
Holidays = { 
 
    'value': { } 
 
} 
 

 

 
for (var i = 0; i < myStuff.length; i++) { 
 
    var year = parseInt(myStuff[i].YYYY_YEAR,10); 
 

 
    
 
var month = parseInt(myStuff[i].MMM_MONTH,10); 
 
    
 
    
 
if (typeof Holidays['value'][myStuff[i].YYYY_YEAR] == 'undefined') { 
 
    Holidays['value'][year] = {}; 
 
} 
 
    if (typeof Holidays['value'][year][myStuff[i].MMM_MONTH] == 'undefined') { 
 
    Holidays['value'][year][month] = {}; 
 

 
} 
 
if(myStuff[i].DAY_OUT.DAY_OUT_ITEM instanceof Array) { 
 

 
for (var j = 0; j < myStuff[i].DAY_OUT.DAY_OUT_ITEM.length; j++) { 
 
    
 
    var day=parseInt(myStuff[i].DAY_OUT.DAY_OUT_ITEM[j].N_DAYS,10); 
 
Holidays['value'][year][month][day] = { 
 
    className: myStuff[i].DAY_OUT.DAY_OUT_ITEM[j].CLASSNAME, 
 
    tooltip: myStuff[i].DAY_OUT.DAY_OUT_ITEM[j].TOOLTIP 
 
    }; 
 
    } 
 
    } 
 
    else 
 
    { 
 
    
 
    var day=parseInt(myStuff[i].DAY_OUT.DAY_OUT_ITEM.N_DAYS,10); 
 
Holidays['value'][year][month][day] = { 
 
    className: myStuff[i].DAY_OUT.DAY_OUT_ITEM.CLASSNAME, 
 
    tooltip: myStuff[i].DAY_OUT.DAY_OUT_ITEM.TOOLTIP 
 
    }; 
 

 
    } 
 
} 
 

 

 

 
Holidays = { Holidays: Holidays } 
 
console.log(JSON.stringify(Holidays.Holidays));

관련 문제