use*_*956 2 javascript json node.js
我有以下 JSON:
{
"Files": {
"Lines": {
"198": {
"firstline": "sometext"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
值“198”是动态变化的。如何在不知道以下代码中的“198”的情况下轻松访问“firstline”属性:
var schema = JSON.parse(fileContents);
console.log(schema.Files.Lines.????.firstline);
Run Code Online (Sandbox Code Playgroud)
几行就可以做到:
var obj = JSON.parse(your_json);
var lines = obj.Files.Lines;
var keys = Object.keys(lines);
var keyICareAbout = keys[0];
var info = lines[keyICareAbout];
Run Code Online (Sandbox Code Playgroud)
注意:此解决方案依赖于一些较新的 javascript 功能。要JSON在所有浏览器中工作,您需要 Douglas Crockford's json2.jsfrom here。要Object.keys在所有浏览器中工作,请使用Mozilla 的 JS 文档中的此垫片:
if(!Object.keys) Object.keys = function(o){
if (o !== Object(o))
throw new TypeError('Object.keys called on non-object');
var ret=[],p;
for(p in o) if(Object.prototype.hasOwnProperty.call(o,p)) ret.push(p);
return ret;
}
Run Code Online (Sandbox Code Playgroud)
编辑:试试这个jsfiddle。现在更新了跨浏览器兼容性措施和动态访问数据。
| 归档时间: |
|
| 查看次数: |
4836 次 |
| 最近记录: |