简体   繁体   中英

create custom objects array from json data

I have a json objects array like:

[{"SensorID":2,"Temperature":34.0,"Humidity":56.0,"Carbon":87.0,"DateTime":"2017-03-08T10:07:00","ID":10},{"SensorID":2,"Temperature":34.0,"Humidity":43.0,"Carbon":87.0,"DateTime":"2017-03-09T12:00:00","ID":12},{"SensorID":2,"Temperature":23.0,"Humidity":89.0,"Carbon":65.0,"DateTime":"2017-03-09T12:00:00","ID":13},{"SensorID":2,"Temperature":34.0,"Humidity":56.0,"Carbon":87.0,"DateTime":"2017-03-08T10:07:00","ID":16},{"SensorID":2,"Temperature":87.0,"Humidity":34.0,"Carbon":23.0,"DateTime":"2017-03-08T10:07:00","ID":18},{"SensorID":2,"Temperature":44.0,"Humidity":67.0,"Carbon":43.0,"DateTime":"2017-03-08T10:07:00","ID":20},{"SensorID":2,"Temperature":100.0,"Humidity":100.0,"Carbon":100.0,"DateTime":"2017-03-08T10:07:00","ID":21},{"SensorID":2,"Temperature":70.0,"Humidity":20.0,"Carbon":50.0,"DateTime":"2017-03-08T10:07:00","ID":22}]

now I want an array like

[[Date.UTC(2015,1,13),0.8783],
    [Date.UTC(2015,1,15),0.8774],
    [Date.UTC(2015,1,16),0.8807],
    [Date.UTC(2015,1,17),0.8762],
    [Date.UTC(2015,1,18),0.8774],
    [Date.UTC(2015,1,19),0.8798],
    [Date.UTC(2015,1,20),0.8787],]]

I need second array to use in highstock how can I create second format of array from first array

This seems like a problem to use map on. The basic idea is to apply a function to each element in a list, creating a new list while doing so.

xs  = [{"SensorID":2,"Temperature":34.0,"Humidity":56.0,"Carbon":87.0,"DateTime":"2017-03-08T10:07:00","ID":10} ... ]

otherArray = xs.map(function(x) {
   // or whatever logic you need...
   return Date(x.DateTime);
})

I had tried this. Is it okay`

var array1 = [{"SensorID":2,"Temperature":34.0,"Humidity":56.0,"Carbon":87.0,"DateTime":"2017-03-08T10:07:00","ID":10},{"SensorID":2,"Temperature":34.0,"Humidity":43.0,"Carbon":87.0,"DateTime":"2017-03-09T12:00:00","ID":12},{"SensorID":2,"Temperature":23.0,"Humidity":89.0,"Carbon":65.0,"DateTime":"2017-03-09T12:00:00","ID":13},{"SensorID":2,"Temperature":34.0,"Humidity":56.0,"Carbon":87.0,"DateTime":"2017-03-08T10:07:00","ID":16},{"SensorID":2,"Temperature":87.0,"Humidity":34.0,"Carbon":23.0,"DateTime":"2017-03-08T10:07:00","ID":18},{"SensorID":2,"Temperature":44.0,"Humidity":67.0,"Carbon":43.0,"DateTime":"2017-03-08T10:07:00","ID":20},{"SensorID":2,"Temperature":100.0,"Humidity":100.0,"Carbon":100.0,"DateTime":"2017-03-08T10:07:00","ID":21},{"SensorID":2,"Temperature":70.0,"Humidity":20.0,"Carbon":50.0,"DateTime":"2017-03-08T10:07:00","ID":22}];
var arraye =[];
for (i in array1)
{
arraye.push([Date.parse(array1[i].DateTime), array1[i].Carbon]);

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM