Arrays 从API到值数组的角度JSON

Arrays 从API到值数组的角度JSON,arrays,json,angular,highcharts,Arrays,Json,Angular,Highcharts,我有一个API,它提供了以下格式的JSON: [{"timestamp":"1389442547000","PourcentRest":"50"}, {"timestamp":"1389442548000","PourcentRest":"55"}, {"timestamp":"1389868449000&q

我有一个API,它提供了以下格式的JSON:

[{"timestamp":"1389442547000","PourcentRest":"50"},
{"timestamp":"1389442548000","PourcentRest":"55"},
{"timestamp":"1389868449000","PourcentRest":"45"}]
我需要将返回的对象转换为一个值数组​​要与highchart集成,请执行以下操作:

[[1389442547000,50],[1389442548000,55],
  [1389868449000,45],[1389868450000,73],
  [1391177296000,37],[1391177297000,45]]
我已经试了好几天了,但我做不到

下面是询问API的数据服务

export class TankDetailsService {
    PHP_API_SERVER = "http://MY-API";

  constructor(private httpClient: HttpClient) {}

   readMeasures(idCit: string): Observable<Measure[]>{
    return this.httpClient.get<Measure[]>(`${this.PHP_API_SERVER}/restFillingApi/?idcit=${idCit}`);
  }
导出类TankDetails服务{
PHP_API_服务器=”http://MY-API";
构造函数(私有httpClient:httpClient){}
readMeasures(idCit:string):可观察{
返回this.httpClient.get(`this.PHP\u API\u SERVER}/restFillingApi/?idcit=${idcit}`);
}
这是我的组件的一部分

export class TankDetailsComponent implements OnInit {
  
  Measure: Measure[];
  idCit: string;
  chartOptions: object;

  constructor(private route: ActivatedRoute, private TankDetailsService: TankDetailsService, private http: HttpClient) { 
   this.route.queryParams
      .subscribe(params => {
        this.idCit = params['idCit'];
        console.log(this.idCit);
      }
    );
   this.TankDetailsService.readMeasures(this.idCit).subscribe((Measure: Measure[])=>{
      this.Measure = Measure;
      
      console.log(this.arr);

     this.chartOptions = {   
      chart: {
         type: "spline"
      },
      title: {
         text: "Volumes"
      },
      
      yAxis: {          
         title:{
            text:"Volumes"
         } 
      },
      tooltip: {
            pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y} %</b><br/>',
            valueDecimals: 0,
            split: true
        },

      series: [
         {
            name: 'Tokyo',
            data: this.Measure
            
         },
         {
            name: 'New York',
            data: [[1389442547000,50],[1389442548000,55],[1389868449000,45],[1389868450000,73],[1391177296000,37],[1391177297000,45],[1391528879000,38],[1391528880000,71],[1392217092000,54],[1392217093000,69],[1392641513000,61],[1392641514000,72],[1393844672000,40],[1393844673000,63]]
         },
         {
            name: 'Berlin',
            data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]
         },
         {
            name: 'London',
            data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
         }
      ]
   };
       console.log(this.chartOptions);
    })

  }
导出类TankDetails组件实现OnInit{
措施:措施[];
idCit:字符串;
图表选项:对象;
构造函数(专用路由:ActivatedRoute,专用TankDetails服务:TankDetails服务,专用http:HttpClient){
this.route.queryParams
.订阅(参数=>{
this.idCit=params['idCit'];
console.log(this.idCit);
}
);
this.TankDetailsService.readMeasures(this.idCit).subscribe((度量值:Measure[])=>{
这个。度量=度量;
console.log(this.arr);
this.chartOptions={
图表:{
类型:“样条线”
},
标题:{
正文:“卷”
},
亚克斯:{
标题:{
正文:“卷”
} 
},
工具提示:{
pointFormat:“{series.name}:{point.y}%
”, 数值小数:0, 分裂:对 }, 系列:[ { 名称:"东京",, 数据:这是一个衡量标准 }, { 名称:'纽约', 数据:[1389442547000,50],[138944248000,55],[1389868449000,45],[13898684450000,73],[139117729600,37],[13911772970000,45],[1391528879000,38],[1391528880000,71],[1392217092000,54],[1392217093000,69],[1392641513000,61],[1392641514000,72],[1393844672000,40],[13938673000,63]] }, { 名称:“柏林”, 数据:[-0.9,0.6,3.5,8.4,13.5,17.0,18.6,17.9,14.3,9.0,3.9,1.0] }, { 名称:“伦敦”, 数据:[3.9,4.2,5.7,8.5,11.9,15.2,17.0,16.6,14.2,10.3,6.6,4.8] } ] }; console.log(this.chartOptions); }) }

请帮我看清楚一点好吗?

请在API响应后使用下面的代码,然后您将得到想要的输出

let a=[{“timestamp”:“1389442547000”,“PourcentRest”:“50”},
{“时间戳”:“1389442548000”,“PourcentRest”:“55”},
{“时间戳”:“1389868449000”,“PourcentRest”:“45”}];
常量outputArr=[];
for(设i=0;iconsole.log(outputArr);
将数据解析为int并将xAxis.type设置为“datetime”可以解决此问题

let data=[{“timestamp”:“1389442547000”,“PourcentRest”:“50”},
{“时间戳”:“1389442548000”,“PourcentRest”:“55”},
{“时间戳”:“1389868449000”,“PourcentRest”:“45”}]
函数parseData(){
返回data.map(data=>[parseInt(data.timestamp),parseInt(data.PourcentRest)])
}
Highcharts.chart('容器'{
xAxis:{
键入:“日期时间”
},
系列:[{
数据:parseData()
}],
});


您收到我的代码了吗?非常感谢您的回复。我刚刚设置了以下代码,但它给了我一个错误:“number”类型的参数不能分配给“string”类型的参数。您如何使用我的代码?以下是代码this.TankDetailsService.readMeasures(this.idCit)。subscribe((度量值:Measure[])=>{this.Measure=Measure;let a=Measure;const outputArr=[];for(let i=0;i