2017-05-12 5 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の料理で提供のような1以上のRESTサービスから取得するように私は私のRESTサービスから入手

"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

私は単純な男です。私はちょうどlikeit)の出力例を参照してください)) –

+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));

関連する問題