如何从JSON文件读取特定数据,然后在Javascript中再次使用该数据。
示例:我有一个.JSON文件,其中包含太阳系外行星的成千上万条记录。JSON中有一列(嗯,至少在CVS中,当我将其转换为JSON时),其中包含有关所有这些行星的所有信息,这些信息均以秒为单位计算距离。
我希望能够计算所有这些行星的平均值,并通过简单的JavaScript提醒此数字。
这是在JSON中列出这些行星的方式:
"Distance [pc]": 110.62,
"Effective Temperature [K]": 4742,
"Date of Last Update": "5/14/2014"
我对JSON非常陌生,因此对于JSON专家来说,这可能是一个足够简单的答案。希望能对您有所帮助,谢谢!
PS:我添加了JSON文件,认为它可以帮助您理解和回答问题。这是我上传的临时网址。
编辑:
这是更多的JSON代码块
[
{
"rowid": 1,
"Host name": "11 Com",
"Number of Planets in System": 1,
"Planet Mass or M*sin(i)[Jupiter mass]": 19.4,
"Planet Radius [Jupiter radii]": null,
"Planet Density [g": {
"cm**3]": null
},
"Distance [pc]": 110.62,
"Effective Temperature [K]": 4742,
"Date of Last Update": "5/14/2014"
},
{
"rowid": 2,
"Host name": "11 UMi",
"Number of Planets in System": 1,
"Planet Mass or M*sin(i)[Jupiter mass]": 10.5,
"Planet Radius [Jupiter radii]": null,
"Planet Density [g": {
"cm**3]": null
},
"Distance [pc]": 119.47,
"Effective Temperature [K]": 4340,
"Date of Last Update": "5/14/2014"
},
{
"rowid": 3,
"Host name": "14 And",
"Number of Planets in System": 1,
"Planet Mass or M*sin(i)[Jupiter mass]": 4.8,
"Planet Radius [Jupiter radii]": null,
"Planet Density [g": {
"cm**3]": null
},
"Distance [pc]": 76.39,
"Effective Temperature [K]": 4813,
"Date of Last Update": "5/14/2014"
},
{
"rowid": 4,
"Host name": "14 Her",
"Number of Planets in System": 1,
"Planet Mass or M*sin(i)[Jupiter mass]": 4.64,
"Planet Radius [Jupiter radii]": null,
"Planet Density [g": {
"cm**3]": null
},
"Distance [pc]": 18.15,
"Effective Temperature [K]": 5311,
"Date of Last Update": "5/14/2014"
}]
enter code here
如果您的JSON是字符串格式,则可以执行以下操作
var jsonObjects = JSON.parse("yourJsonString");
var distanceSum = 0;
for(var i=0; i<jsonObjects.length;i++){
var distance = jsonObjects[i]["Distance [pc]"];
distanceSum = distanceSum + distance;
//do something with distance
}
alert("Average distance " + (distanceSum / jsonObjects.length));
编辑:如果json位于某个终结点上,则可以使用jQuery库。
$.get('url/jsonFile.json', function(jsonObjects){
var distanceSum = 0;
for(var i=0; i<jsonObjects.length;i++){
var distance = jsonObjects[i]["Distance [pc]"];
distanceSum = distanceSum + distance;
}
alert("Average distance " + (distanceSum / jsonObjects.length));
});
编辑2:
假设您的文件结构如下:
index.html
jsonFile.json
您应该使用以下代码段
Index.html
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>
<script>
$.get('jsonFile.json', function(jsonObjects){
var distanceSum = 0;
for(var i=0; i<jsonObjects.length;i++){
var distance = jsonObjects[i]["Distance [pc]"];
distanceSum = distanceSum + distance;
}
alert("Average distance " + (distanceSum / jsonObjects.length));
});
</script>
</body>
</html>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句