Я не могу разобрать свойство из объекта JSON. Поскольку это всего лишь один объект JSON, я не уверен, что мне нужно сделать $.each
или я могу напрямую захватить свойства как data.d.property
. Может ли кто-нибудь объяснить, как я делаю, чтобы захватить значение свойств с этого объекта?
Это то, что у меня есть:
jQ(document).ready(function() {
var listDataURL = "";
var root = getParameterByName('RootFolder');
var rootFolderID = getParameterByName("ID");
var docSetTitle = root.substr(root.lastIndexOf('/') + 1);
listDataURL = "http://SomeSite/sites/TestWF/_vti_bin/listdata.svc/ResumeBank(" + rootFolderID +")";
//use the getJSON mehtod of Jquery
jQ.getJSON(listDataURL, function(data, status, jqXHR) {
console.log(jqXHR.responseText);
//iterate through all the items
jQ.each(data.d.results, function(i, result) {
//get child items count for the current set
ChildItemCount = result.ItemChildCount;
NumOfItemsApproved = result.ApprovalCounter;
});
if (ChildItemCount !== NumOfItemsApproved){
alert("Ah ah! The ApprovalCounter got skewed and needs to be fixed.");
}
if (ChildItemCount === NumOfItemsApproved){
alert("ApprovalCounter looks good!");
}
});
});
И ответ JSON это ниже, я пытаюсь схватить значение ApprovalCounter
:
{
"d":{
"__metadata":{
"uri":"http://collaboration/sites/TestWF/_vti_bin/listdata.svc/ResumeBank(84)",
"etag":"W/\"12\"",
"type":"Microsoft.SharePoint.DataService.ResumeBankItem",
"edit_media":"http://collaboration/sites/TestWF/_vti_bin/listdata.svc/ResumeBank(84)/$value",
"media_src":"http://collaboration/sites/TestWF",
"content_type":"text/xml"
},
"Id":84,
"ContentTypeID":"0x0120D52000E387E9726C57FE40807A71CC05BEF45A005D5A666FE9576E42B629AF7CDB33F1B0",
"ContentType":"JobApplication",
"Created":"\/Date(1413213951000)\/",
"CreatedBy":{
"__deferred":{
"uri":"http://collaboration/sites/TestWF/_vti_bin/listdata.svc/ResumeBank(84)/CreatedBy"
}
},
"CreatedById":1,
"Modified":"\/Date(1413561633000)\/",
"ModifiedBy":{
"__deferred":{
"uri":"http://collaboration/sites/TestWF/_vti_bin/listdata.svc/ResumeBank(84)/ModifiedBy"
}
},
"ModifiedById":1,
"CopySource":null,
"ApprovalStatus":"2",
"ApproverComments":null,
"Path":"/sites/TestWF/ResumeBank",
"CheckedOutTo":{
"__deferred":{
"uri":"http://collaboration/sites/TestWF/_vti_bin/listdata.svc/ResumeBank(84)/CheckedOutTo"
}
},
"CheckedOutToId":null,
"Name":"Tabitha Johnson",
"VirusStatus":"",
"IsCurrentVersion":true,
"Owshiddenversion":12,
"Version":"1.0",
"Title":"Tabitha Johnson",
"Description":null,
"RoleAppliedFor":"HR Assistant",
"HiringDepartment":{
"__deferred":{
"uri":"http://collaboration/sites/TestWF/_vti_bin/listdata.svc/ResumeBank(84)/HiringDepartment"
}
},
"HiringDepartmentValue":"HR",
"FirstRoundApproval":null,
"StartDate":"\/Date(1413158400000)\/",
"ApprovalCounter":0,
"Education":null,
"Experience":null,
"ApproveEachDoc":null,
"ApproveDocSet1st":"2",
"ApproveDocSet2nd":"2"
}
}
Вы спрашиваете, как разбирать сам JSON (как в 'JSON.parse')? Я думаю, что jQuery будет автоматически анализировать JSON перед передачей вам данных. – Whymarrh
нет 'd.results', вы просто хотите' data.d.ApprovalCounter', не используя 'each' – charlietfl
Извините, что я хотел получить свойства объекта JSON. – Athapali