正在解析来自服务器 Angular 4 的 json_callback 响应

Parsing json_callback response from server Angular 4

使用Angular 4,我向这个url发送了一个get请求https://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=JSON_CALLBACK&format=json&tagmode=all&tags=test

使用以下代码,

  this.http.get('https://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=JSON_CALLBACK', {
    params: { format: 'json', tagmode: 'all', tags: query }
  })
  .subscribe(data => {
    console.log(data);
  });

我得到的响应采用以下格式,包装为方法参数。

JSON_CALLBACK({
    "title": "Recent Uploads tagged test",
    "link": "https:\/\/www.flickr.com\/photos\/tags\/test\/",
    "description": "",
    "modified": "2018-02-04T14:51:42Z",
    "generator": "https:\/\/www.flickr.com",
    "items": [
   {
        "title": "Desktop2018-02-04-14_39_44.jpg",
        "link": "https:\/\/www.flickr.com\/photos\/besnaveld\/28298869359\/",
        "media": {"m":"https:\/\/farm5.staticflickr.com\/4769\/28298869359_e932760377_m.jpg"},
        "date_taken": "2018-02-04T06:51:42-08:00",
        "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/besnaveld\/\">besnaveld<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/besnaveld\/28298869359\/\" title=\"Desktop2018-02-04-14_39_44.jpg\"><img src=\"https:\/\/farm5.staticflickr.com\/4769\/28298869359_e932760377_m.jpg\" width=\"240\" height=\"135\" alt=\"Desktop2018-02-04-14_39_44.jpg\" \/><\/a><\/p> ",
        "published": "2018-02-04T14:51:42Z",
        "author": "nobody@flickr.com (\"besnaveld\")",
        "author_id": "154665852@N05",
        "tags": "test booth"
   } ]
})

如何提取此 JSON_CALLBACK 函数参数中的数据?

基于filckr文档只需添加

nojsoncallback=1    -> {...}
jsoncallback=wooYay -> wooYay({...});

根据您的要求正确处理。那么你的 url 应该是 :

https://api.flickr.com/services/feeds/photos_public.gne?nojsoncallback=1&format=json&tagmode=all&tags=test