如何用JavaScript/jQuery提取嵌套JSON中首个_attributes的projectclass值
获取JSON中首个固定
_attributes里的projectclass值 没问题,针对你要从固定位置的首个_attributes(也就是MainNode下的那组属性)提取projectclass值的需求,不管其他位置的_attributes,可以用下面两种方式实现:
原生JavaScript方法
直接通过对象属性链逐层访问是最直接高效的方式,因为你的JSON结构是固定的,直接定位到目标属性即可:
var JSONDATA = { "MainNode": { "_attributes": { "class": "ABC", "projectclass": "MyProject", "prjname": "PrjName", "enabled":"true" }, "PrjProp": { "_attributes": { "name": "MyProject.save" }, "_text": true } } }; // 定位到MainNode下的首个_attributes,提取projectclass var projectClassValue = JSONDATA.MainNode._attributes.projectclass; console.log(projectClassValue); // 输出:MyProject
这种方法的优势是精准,不会误取其他位置(比如PrjProp下)的_attributes属性,完全符合你“仅从首个固定的_attributes中获取”的要求。
jQuery方法(可选)
jQuery主要用于DOM操作,处理JSON对象其实还是依赖原生JavaScript的逻辑,所以写法和原生差别不大,如果你习惯用jQuery的语法,可以这样写:
var JSONDATA = { "MainNode": { "_attributes": { "class": "ABC", "projectclass": "MyProject", "prjname": "PrjName", "enabled":"true" }, "PrjProp": { "_attributes": { "name": "MyProject.save" }, "_text": true } } }; // 通过jQuery的prop方法获取MainNode属性,再访问后续链 var projectClassValue = $(JSONDATA).prop('MainNode')._attributes.projectclass; console.log(projectClassValue); // 输出:MyProject
不过这里更推荐直接用原生方法,因为没必要为了处理JSON额外引入jQuery的API,原生写法更简洁。
内容的提问来源于stack exchange,提问作者usersam
相关产品推荐
相关产品推荐

