如何引用具有半冒号的对象

时间:2016-04-25 10:15:20

标签: php angularjs json wordpress wp-api

我正在使用AngularJS和WordPress Rest API。我正在发出一个返回对象的get请求。要获得特色图像,我必须使用'?embed'参数,该参数是另一个名为_embedded的对象。

问题是_embedded里面我想要的对象叫做wp:featuredmedia。如果我在角度中像这样引用它,我会收到语法错误。

这是我的代码

$http.get(queries[0], {'cache': true}).
    then(function(response) {
        $scope.careers_title = strip(response.data.title.rendered);
        $scope.careers_content = strip(response.data.content.rendered);
        $scope.careers_feature_image = strip(response.data.featured_media);
        console.log(response.data._embedded);
    });

console.log返回此

Object {author: Array[1], wp:featuredmedia: Array[1], wp:term: Array[2]}author: Array[1]wp:featuredmedia: Array[1]0: Object_links: Objectalt_text: ""author: 1date: "2016-04-25T09:33:52"id: 46link: "http://localhost:8888/rubis/wordpress/energy-efficiency/tp-roundall/"media_details: Objectmedia_type: "image"mime_type: "image/png"slug: "tp-roundall"source_url: "http://localhost:8888/rubis/wordpress/wp-content/uploads/2016/04/tp-roundall.png"title: Objecttype: "attachment"__proto__: Objectlength: 1__proto__: Array[0]wp:term: Array[2]__proto__: Object

2 个答案:

答案 0 :(得分:7)

确实你不能写:

response.data._embedded.wp:featuredmedia

这是一个禁止的财产名称。但是,任何字符串都被接受,因此您可以通过以下方式访问它:

response.data._embedded['wp:featuredmedia']

答案 1 :(得分:0)

你好,除了上一个例子,如果你

使用google inspect你可以查看json响应并复制jsonson路径

data._embedded ["可湿性粉剂:featuredmedia&#34]。[" 0"] media_details.sizes.medium

 [enter image description here][1]