JSON串選擇器方式解析

2021-08-21 18:02:39 字數 1154 閱讀 3839

以選擇器方式選擇想要獲取的值,並存入陣列中。

/**

* [******json description]

* @param [object-json] obj [被解析的json串]

* @param [string] str [選擇器 以空格隔開父節點與子元素]

* @param [boolean] flag [標誌是否尋找到父元素節點]

* 使用前必須建立陣列arr 所有子元素的值儲存在陣列結構中

*/function

******json

(obj,str,flag));

return;

} else

if (obj && obj.constructor === object)

if (obj[k][j] && obj[k][j].constructor === array));

}if (obj && obj.constructor === object)}}

******json(obj[k], str ,0);

}elseelse);

}if (obj && obj.constructor === object)}}

}}

}}

專案中,有的時候後台傳遞過來兩個同樣的datas,但是縱深又特別深。例如:

var htmljson = 

, 'body':,,,]

}]},

'content':[,,,]

},,,,]}}]

}]}]}}

}

實際情況層級比這還多,則取到所有content下的showname放入陣列,不需要title中的showname。

常規做法是一層一層剝開他的心,直到取到自己想要的東西,那麼就有可能是這樣的,

shownamearray.push(htmljson.body.data.content.datas[i].cols[j].showname)

這樣鏈式訪問真的是太痛苦了,但是又不能直接遍歷showname,不排除其他地方存在相同的字段,因此,需要對範圍進行界定,在某乙個範圍內的showname一定是排他的,只有同類的showname,而沒有其他亂入的showname

jQuery選擇器之全選擇器( 選擇器)

在css中,經常會在第一行寫下這樣一段樣式 萬用字元 意味著給所有的元素設定預設的邊距。jquery中我們也可以通過傳遞 選擇器來選中文件頁面中的元素 描述 拋開jquery,如果要獲取文件中所有的元素,通過document.getelementsbytagname 中傳遞 同樣可以獲取到 不難發現...

jQuery選擇器之全選擇器(選擇器)

jquery選擇器之全選擇器 選擇器 在css中,經常會在第一行寫下這樣一段樣式 萬用字元 意味著給所有的元素設定預設的邊距。jquery中我們也可以通過傳遞 選擇器來選中文件頁面中的元素 描述 拋開jquery,如果要獲取文件中所有的元素,通過document.getelementsbytagna...

Css選擇器 層次選擇器(關係選擇器)

1.e f 匹配 e 元素下所有的子元素 f 後代選擇器 eg css.box a匹配 box 下所有的子元素 a 2.e f 匹配 e 元素下第一級子元素 f 子選擇器 eg css.box a匹配 box 下第一級子元素 a 3.e f 匹配 e 元素後面緊鄰的哪乙個 f 元素 有且僅有乙個 相...