私は1つの小さなプロジェクトに取り組んでいます。私は1つの小さなjsの問題に固執しました。 私は次のようなjson文字列を持っています:
var jsObj = {
"templates": {
"form0": {
"ID": "MyAlertNew",
"isVisible": "true",
"children": [
{
"-type": "kButton3",
"ID": "myButtonID1",
"isVisible": "true",
"onClick": "onClickMethod",
"paddings": {
"left": "0",
"right": "0",
"top": "3",
"bottom": "3",
"unit": "%"
},
"text": "dynamic text in file"
},
{
"-type": "kButton1",
"ID": "btnAlign2",
"visible": "true",
"margins": {
"left": "0",
"right": "0",
"top": "0",
"bottom": "0",
"unit": "%"
}
}
]
},
"form1": {
"ID": "frmNewPOC1",
"isVisible": "true",
"children": [
{
"-type": "kButton3",
"ID": "btnAlign",
"isVisible": "true",
"onClick": "onClickMethod",
"paddings": {
"left": "0",
"right": "0",
"top": "3",
"bottom": "3",
"unit": "%"
},
"text": "in diff form"
},
{
"-type": "kButton1",
"ID": "btnAlignTest",
"visible": "true",
"margins": {
"left": "0",
"right": "0",
"top": "0",
"bottom": "0",
"unit": "%"
},
"text": "in My Form"
}
]
}
}
};
次のようにフィルタリングしたい:
objnew ={
"MyAlertNew":{
"isVisible": "true"
},
"myButtonID1":{
"isVisible": "true",
"onClick": "onClickMethod",
"paddings": {
"left": "0",
"right": "0",
"top": "3",
"bottom": "3",
"unit": "%"
},
"text": "dynamic text in file"
},
"btnAlign2":{
"visible": "true",
"margins": {
"left": "0",
"right": "0",
"top": "0",
"bottom": "0",
"unit": "%"
}
},
"frmNewPOC1":{
"isVisible": "true"
},
"btnAlign":{
"isVisible": "true",
"onClick": "onClickMethod",
"paddings": {
"left": "0",
"right": "0",
"top": "3",
"bottom": "3",
"unit": "%"
},
"text": "in diff form"
},
"btnAlignTest":{
"visible": "true",
"margins": {
"left": "0",
"right": "0",
"top": "0",
"bottom": "0",
"unit": "%"
},
"text": "in My Form"
}
}
これまでのところ、以下のコードを試してみましたが、成功しました。
testObj = jsObj.templates;
var idObj = [];
var widgetProp =[];
var ID ;
function parseMyObj(testObj){
for(x in testObj){
if(typeof testObj[x] == "object"){
//widgetProp[]
parseMyObj(testObj[x]);
}
else if(x=='ID'){
ID = testObj[x];
idObj.push(testObj[x]);
}
else{
widgetProp.push(x:testObj[x]);
}
}
}
parseMyObj(testObj);
console.log(widgetProp);
console.log(JSON.stringify(idObj));
よろしくお願いします。