用JS从JSON文件中读取和计算数据
Read and calculate data with JS from JSON file
如何从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文件,认为它会帮助你理解和回答这个问题。这是我上传的一个临时URL。编辑:下面是更多的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>
希望对你有所帮助。
var data = [{
"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"
}]
现在数据是一个对象数组,要获得第一个对象,你需要给出data[0]
,第二个对象,你需要给出data[1]
,等等。为了获得第一个对象的距离,你可以简单地调用data[0]["Distance [pc]"]
,你可以简单地根据数据
相关文章:
- 从桌面读取python文件时高亮显示代码
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- TypeError:无法读取属性'推'未定义的JavaScript
- 根据元素和容器大小计算边距
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 使用D3.js计算带有字母间距的文本长度
- Tracker重新计算函数出现异常:无法读取属性'0'的未定义
- 从 PHP-JS 返回数组的计算的读取值
- JS 数组无法读取未定义的属性 663,并将计算作为索引
- 正在读取Ractive.js中的计算属性
- 读取一个设置文件并在node.js中计算
- 用JS从JSON文件中读取和计算数据
- 从网络计算机上启用智能卡的登录中读取windows用户名
- 如何读取JSON's的特定字段,计算和显示