/ / Acessar item na matriz JSON e exibir dados de objetos - json, api

Acessar item na matriz JSON e exibir dados de objetos - json, api

Estou tentando usar a API do tempo e obter dados abertosPara o primeiro objeto na matriz JSON.Em vez de obter todos os objetos.Como posso acessar, por exemplo, o primeiro objeto na matriz JSON? Também como fazer para que os dados sejam exibidos em vez de [objeto, objeto]. No momento, parece com isso:

insira a descrição da imagem aqui

Deve parecer mais com isso:

      "name":"msl",
"levelType":"hmsl",
"level":0,
"values":[
1031

Aqui está o meu código: HTML:

     <ion-header>
<ion-navbar>
<ion-title>New App</ion-title>
</ion-navbar>
</ion-header>

<ion-content padding class="no-scroll">
<ion-grid>
</ion-row>
<button ion-button (click) = "getData()">Get Data</button>
<ion-row>{{result.timeSeries}}</ion-row>

<ion-row>
<ion-col>
</ion-grid>
</ion-content>

Código TS:

import { Component, state } from "@angular/core";
import { NavController, AlertController, Platform, Alert} from "ionic-angular";
import { MapPage } from "../map/map";
import { NewGamePage } from "../new-game/new-game";
import {AchievmentPage} from "../achievment/achievment";
import {DailyRoutesPage}from "../daily-routes/daily-routes";

import { LocalNotifications } from "@ionic-native/local-notifications"
import { PhonegapLocalNotification } from "@ionic-native/phonegap-local-notification";
import { Push, PushObject, PushOptions} from "@ionic-native/push"

import { HttpClient } from "@angular/common/http";
import { Observable } from "rxjs/Observable";


@Component({
selector: "page-home",
templateUrl: "home.html"
})
export class HomePage {

result: any = [];
data: Observable<any>;


constructor(public navCtrl: NavController, public alertCtrl: AlertController, private platform: Platform, private localNotification: LocalNotifications, private notiPhoneGap: PhonegapLocalNotification, public http: HttpClient) {
}
getData(){
var url = `https://opendata-download-metfcst.smhi.se/api/category/pmp3g/version/2/geotype/point/lon/16.158/lat/58.5812/data.json`;
this.data = this.http.get(url);
this.data.subscribe(data=>{
this.result = data;
})
}



}

Respostas:

0 para resposta № 1

Você pode "restringir" os dados usando o built-in JSON.stringify função. Você precisará especificar o preenchimento no terceiro parâmetro.

Ignore o proxy CORS, eu apenas o usei para ignorar a mesma política de origem.

var apiUrl = "https://opendata-download-metfcst.smhi.se/api";
var apiPointUrl = `${apiUrl}/category/pmp3g/version/2/geotype/point`;

// Builds an API url to get a point at a set of coordinates.
function getPointData(longitude, latitude) {
return `${apiPointUrl}/lon/${longitude}/lat/${latitude}/data.json`;
}

// Wrapping with a CORS proxy so that there is no issue with Same-Origin-Policy
var requestQuery = `https://cors.io/?${getPointData(16.158, 58.5812)}`;

$.getJSON(requestQuery, (result, status, xhr) => {
// Display the first two hours in the timeSeries.
console.log(JSON.stringify(result.timeSeries.slice(0, 2), null, 2));
});
.as-console-wrapper { top: 0; max-height: 100% !important; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>