[英]Need to convert JSON format to another json format using JavaScript
[英]How convert a JSON format to another using Javascript?
我使用Oracle JET实现datepicker.JET食谱为我提供了具有JSON文件的示例Datapicker示例,如下所示。
"Holidays": {
"*": {
"1": {
"14": {
"className": "holiday"
},
"26": {
"className": "holiday"
}
}
}
我从其他服务获得的Json文件如下
[
{
"YEAR":"2017",
"MONTH":"1",
"DAY":[
{
"N_DAYS":"25",
"className":"holiday"
},
{
"N_DAYS":"25",
"className":"holiday"
}
]
},
];
我如何转换从其他服务(例如JET食谱中提供的服务)中获取的JSON文件
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);
这是小提琴链接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));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.