Json 提取和使用数据(node.js)
Json extract and use data (node.js)
如何访问这些数据?
这是我的 Json:
{
"6a768d67-82fb-4dd9-9433-d83dbd2f1b78": {
"name": "Bahut",
"11": {
"timestamp": 1380044486000,
"value": "false"
}
},
"4f4a65e4-c41b-4038-8f62-76fe69fedf60": {
"name": "Vit",
"11": {
"timestamp": 1380109392000,
"value": "false"
}
},
"a12d22cc-240e-44d6-bc58-fe17dbb2711c": {
"name": "Cuis",
"11": {
"timestamp": 1379883923000,
"value": "false"
}
}
}
我正在尝试读取并提取每个条目的 id (xxxxx-xxxx-...-xxxx
但我没能做到。
尝试 :
var nameid = json.'XXXXX-....-XXXX'.name;
或将"-"替换为"
var nameid = json.XXXXXXXXX.name;
也没用。
您需要使用数组样式访问来获取与 id 键关联的子对象:
var nameid = json["a12d22cc-240e-44d6-bc58-fe17dbb2711c"].name; // or ["name"]
// nameid => "Cuis"
这是因为连字符不是点样式访问的有效字符(不能在 JavaScript 中的变量名称中使用它们)。
为了提取所有 你需要遍历对象,并将它们添加到数组中,如下所示:
var arr = [];
for (var id in json) {
arr.push(json[id]["name"]);
}
这将为您提供该 JSON 对象中所有名称的数组。
您可以使用
Object.keys
来获取属性数组。
var js = JSON.parse(json);
var props = Object.keys(js);
var result = props.map(function(prop) {
return {
id: prop,
name: js[prop].name;
};
});
最终结果是一个具有 2 个属性的对象数组:id
、name
如果要
循环访问数据,请使用for in
循环:
for (var key in obj) { //obj is your data variable
console.log(key); //xxxx-x-xx-x-x-xxxx
console.log(obj[key].name); //the name for each
}
像访问数组一样访问 JSON,例如:
data["a12d22cc-240e-44d6-bc58-fe17dbb2711c"].name
斯菲德尔
不是
常见的循环方式,但在这种情况下,您可以遍历 json 对象
for (var prop in json){
print("prop",json[prop].name);
}
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- 如何使用 node.js 比较两个 json 数组
- Node.js's Buffer.writeFloatBE in Javascript
- node.js:setInterval()正在跳过调用
- 如何处理node.js节点mongodb中的连接和查询队列
- Node.js正在更改应用程序以使用集群模块
- 如何使用Node.js最有效地解析网页
- 在openshift node js应用程序中获取请求
- 正在删除node.js中已验证的网站
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 在索引.html和应用.js [node.js] 之间共享变量
- Node.js中的JavaScript原型对象效率
- node.js请求数据事件未在CORS ajax调用中触发
- 使用node.js制作网站
- 使用node.js服务器中的evernote api获取note内容
- 有没有任何方法可以使用node-js从不同的机器打开浏览器
- 使用CI和CodeDeploy对node.js应用程序进行连续部署
- 在Node.js中上传和检索图像
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 如何使用 Node JS 获取 JSON 嵌套数组值