我需要确定我的JSON提要是否有子键/值对,并以不同的方式处理它们。我的意思是:
{
"dashboard" :[
{
"name": "",
"image": "",
"description":"",
"linkurl":"" },
{
"name": "",
"image": "",
"description":"",
"linkurl":""
},
"related" : [
{
"name": "",
"image": "",
"description":"",
"linkurl":""
},
{
"name": "",
"image": "",
"description":"",
"linkurl":""
}]
]如何识别该JSON是否具有那些子(“相关”)键/值对?
发布于 2011-08-18 16:32:52
在将JSON字符串解析为JavaScript对象之后(参见greengit的答案),您有三种选择:
typeof obj.related !== 'undefined'obj.related !== undefined.使用undefined变量时要小心,它可能会被其他脚本更改。如果您正在使用它,请确保将您的代码包装在匿名函数中,以便将其设置为正确的值-有关这一点,请参阅“处理对undefined"'related' in obj的值的更改”一节中的Javascript Garden
IIRC,使用in应该是最快的
update我记得正好相反-- in是中最慢的方式,有很大的优势(98%!)而且,使用typeof obj.key !== 'undefined'比使用obj.key !== undefined快得多(后者慢80% )。参见http://jsperf.com/in-vs-not-undefined。
发布于 2011-08-18 15:54:06
将JSON转换为JS对象,看看您需要的是否是undefined。
var obj = JSON.parse(json_string);
if ( obj.related == undefined ) {
...https://stackoverflow.com/questions/7104061
复制相似问题