JSON对象包含odata.Id如何获取它?

时间:2017-03-15 12:18:52

标签: json odata

我使用了一个sharepoint rest调用,它返回了一个带有odata.id的对象。但是因为javascript使用了。字符作为对象的分隔符,我无法如何选择此属性。

返回的对象

Object
CheckInComment:""
CheckOutType:2
ContentTag:"{CF7867DB-4BF1-4013-BE2C-3ACA5839E5F4},1,2"
CustomizedPageStatus:0
ETag:""{CF7867DB-4BF1-4013-BE2C-3ACA5839E5F4},1""
Exists:true
IrmEnabled:false
Length:"254805"
Level:1
LinkingUri:null
LinkingUrl:""
MajorVersion:1
MinorVersion:0
Name:"nfs.jpg"
ServerRelativeUrl:"/sites/SiteDirectory/Banners/nfs.jpg"
TimeCreated:"2017-03-15T11:16:25Z"
TimeLastModified:"2017-03-15T11:16:25Z"
Title:null
UIVersion:512
UIVersionLabel:"1.0"
UniqueId:"cf7867db-4bf1-4013-be2c-3aca5839e5f4"
odata.editLink:"Web/GetFileByServerRelativeUrl'/sites/SiteDirectory/Banners/nfs.jpg')"
odata.id:"https://one365dev1.sharepoint.com/sites/SiteDirectory/_api/Web/GetFileByServerRelativeUrl('/sites/SiteDirectory/Banners/nfs.jpg')"
odata.type:"SP.File"odata.id:"https://one365dev1.sharepoint.com/sites/SiteDirectory/_api/Web/GetFileByServerRelativeUrl('/sites/SiteDirectory/Banners/nfs.jpg')"
    odata.type:"SP.File"

获取对象的代码

$http.get(endpoint).then(function (result) {
    var banners = result.data;
    deferred.resolve(banners);
    console.log(banners.Files[0]);
});

但是因为我做不到

console.log(banners.Files[0].odata.id);

fiddler的帖子返回:

enter image description here

我对如何访问数据毫无头绪。任何帮助将不胜感激。

感谢

1 个答案:

答案 0 :(得分:3)

odata.id中对象的名称为id而非odata

这就是为什么你需要用括号表示法来表示它:banners.Files[0]['odata.id']