我尝试从此网址获取数据:https://api.chucknorris.io/jokes/search?query=chuck (查克是搜索词,它可以是其他任何东西)。
我想从数组中获取value属性。邮差得到了我:
LC_TIME
我的服务(已编辑):
boolean foundAny = false;
T result = null;
for (T element : this stream) {
if (!foundAny) {
foundAny = true;
result = element;
}
else
result = accumulator.apply(result, element);
}
return foundAny ? Optional.of(result) : Optional.empty();
组分(编辑):
{
"total": 9735,
"result": [
{
"category": [
"dev"
],
"icon_url": "https://assets.chucknorris.host/img/avatar/chuck-norris.png",
"id": "zdj0bfkjsmup6pkb2rpmbw",
"url": "http://api.chucknorris.io/jokes/zdj0bfkjsmup6pkb2rpmbw",
"value": "Chuck Norris is the only human being to display the Heisenberg
uncertainty principle - you can never know both exactly where and how
quickly he will roundhouse-kick you in the face."
},
我有代表对象的类:
import { HttpModule } from '@angular/http';
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
import { Joke } from '../joke'
@Injectable()
export class PretragaService {
constructor(private http: Http){}
searchJokes(str: string){return
this.http.get('https://api.chucknorris.io/jokes/search?query=' + str)
.map(res => res.json())
.map(joke => {return joke.value});
}
}
}
答案 0 :(得分:1)
//修改myService类:
searchJokes(str: string){return
this.http.get('https://api.chucknorris.io/jokes/search?query=' + str)
.map(res => res.json())
.map(joke => {return joke.value});
}
//和组件:
searchJoke: string;
searchRes: any[]=[];
constructor(private searchService: PretragaService){
}
searchJokes(){
this.searchService.searchJokes(this.searchJoke)
.subscribe(joke => {
this.searchRes = joke;
});