使用JSON文件中的JS读取和计算数据

Zhyohzhy

如何从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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章