将json数组响应更改为int数组
Change json array response to int array
我遇到了很多麻烦,无法将thingspeak中的数据转换为json响应。我有一个url,它的响应给了我很多字段。这是JSON:的响应
?({"channel":{"id":XXXXX,"name":"XXXXX","field1":"Temperature","field2":"Humidity","created_at":"2015-11-03T13:12:06Z","updated_at":"2015-11-15T12:07:37Z","last_entry_id":142},"feeds":[{"created_at":"2015-11-14T21:06:16Z","entry_id":136,"field1":"0"},{"created_at":"2015-11-14T21:06:39Z","entry_id":137,"field1":"25"},{"created_at":"2015-11-14T21:06:59Z","entry_id":138,"field1":"24.05"},{"created_at":"2015-11-14T21:07:13Z","entry_id":139,"field1":"24.45"},{"created_at":"2015-11-14T21:08:16Z","entry_id":140,"field1":"24.45"},{"created_at":"2015-11-15T12:06:18Z","entry_id":141,"field1":"24.5"},{"created_at":"2015-11-15T12:07:37Z","entry_id":142,"field1":"21.4"}]})
我想检索每个字段1数据的最大值和最小值。我一直在阅读,但响应不在int中,因此应该转换为int数组。
这是我目前的代码:
$.getJSON('http://api.thingspeak.com/channels/'+channel+'/field/1.json?callback=?',
{key: read_API_key, days: "1"},
function(data) {
$.each(data.feeds, function() {
var temp_vals = this.field1;
var temp_vals_date = this.created_at;
console.log(temp_vals);
});
}
);
我想在feed数组中搜索field1数字,并保存到int数组中,以便在使用Math.max.apply(Math, temp_vals);
进行数学运算后使用控制台将值正确保存到temp_vals
中,但我无法使用该函数,出现以下错误:Function.prototype.apply: Arguments list has wrong type
。
因此,我如何将响应更改为int数组或其他内容,以便能够找到最大值和最小值?另一个快速的问题是,是否可以打印$.each(data.feeds,function(){});之外的值;,因为我没有找到办法…
更改为parseInt:
$.getJSON('http://api.thingspeak.com/channels/'+channel+'/field/1.json?callback=?',
{key: read_API_key, days: "1"},
function(data) {
$.each(data.feeds, function() {
var temp_vals = parseInt(this.field1);
var temp_vals_date = this.created_at;
var temp_max = Math.max.apply(Math, temp_vals);
console.log(temp_max);
$('#temp1_max').text(temp_max + ' ºC');
console.log(temp_vals);
});
}
);
使用parseInt
var temp_vals = parseInt( this.field1 );
编辑:
$.getJSON('http://api.thingspeak.com/channels/'+channel+'/field/1.json?callback=?',
{key: read_API_key, days: "1"},
function(data) {
var temp_vals = [];
$.each(data.feeds, function() {
temp_vals.push( parseInt( this.field1 ) );
var temp_vals_date = this.created_at;
});
var temp_max = Math.max.apply(Math, temp_vals);
console.log(temp_max);
console.log(temp_vals);
$('#temp1_max').text(temp_max + ' ºC');
}
);
相关文章:
- Javascript 将 int 值转换为八位字节流数组
- 如何在javascript中使用int变量来访问索引处的数组
- 将JavaScript对象属性值的数组转换为int
- 有效地串行化(并从nodejs读取)int数组
- 更新int数组会在Mongo-shell中转换为双数组
- JavaScript 将字符串转换为带括号的 int 数组
- 将int数组传递给MVC控制器
- 按int,然后按字母顺序对对象数组进行排序
- 将javascript数组传递给List<int>参数
- 使用JavaScript访问Java int数组
- 将json数组响应更改为int数组
- 使用ajax javascript传递一个int数组给MVC控制器
- Javascript比较单个int和int数组
- 以char数组作为索引,以int作为值的结构
- 如何将按位的值组合成int数组
- 数字作为字符串的数组到简单int的转换问题
- 在Javascript中为国际象棋游戏创建一个2D对象数组和int对象数组
- 如何在C#中将ajax调用中的int数组作为参数从JS发送到控制器操作
- 如何让Match返回INT而不是数组
- Knockout JS -绑定到可观察的int数组