0
我正在處理一個小項目。 我堅持一個小js問題。 我有JSON字符串,如:使用Javascript過濾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"
}
}
到目前爲止,我有下面的代碼嘗試,但我得到的DIN成功。
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));
請提前幫助我。
'parse'不是這個函數的正確詞。解析通常意味着您正在應用某種狀態機將純文本轉換爲結構。 「轉化」將是一個更好的術語。 – Halcyon
@Frits van Campen好的,我會改變它的感謝。你有解決我的問題嗎? –