я работаю на Angular2 и MySQL, нужен совет по инъекционным услугам с использованием наблюдаемых,Angular2 объекту синтаксического анализа JSON с помощью наблюдаемых
Я создал службу, чтобы получить все данные из API с помощью getTable()
, но теперь я m застрял в реализации другой службы для фильтрации и анализа данных json и использовать только epoch_time
и temp
из объекта данных (ниже) и подписаться на него с помощью Observables. Я использую Angular2 v2.2
service.ts:
@Injectable()
export class TabuleService {
//private headers = new Headers({'Content-Type': 'application/json'});
private _Url = 'http://localhost:3000'; // URL to web api
constructor(private _http: Http) {}
getTable(): Observable<Tabule[]> {
const url = this._Url+'/temperature';
return this._http.get(url)
.map(res => res.json())
.catch(this.handleError);
}
getTemp(): Observable<testing[]> {
const url = this._Url+'/temperature';
return this._http.get(url)
.map(this.extractData)
//.filter(temp=>temp.mac==='3s-ds-23-sf-23-ce-32')
.catch(this.handleError);
}
private extractData(res: Response){
let body =res.json();
console.log(body.data);
return body.data || { };
}
данных объектов
epoch_time_stamp:1486257208633
mac:"3s-ds-23-sf-xx-xx-xx"
task_id:2
temp:"23"
time_stamp:"2017-02-05T01:13:28.000Z"
epoch_time_stamp:1486257208733
mac:"3s-ds-23-sf-xx-xx-xx"
task_id:3
temp:"26"
time_stamp:"2017-02-05T01:15:28.000Z"
в .map(), вы можете изменить этот объект, который приходит из API. вам просто нужно выполнить нормальный js-код. extractData() вернет целые данные объекта ответа. –
Я не понимаю, в чем проблема –
Я пытаюсь получить данные только с этими свойствами temp: "26" epoch_time_stamp: 1486257208633 –