2013-05-13 7 views
1

JQuery를 사용하여 WCF 서비스를 호출하고 있습니다. 응답 본문은 JSON 형식 데이터를 표시하지만이를 구문 분석하는 방법을 잘 모르겠습니다. 지금까지 내가 해 온 것에 대한 제 코드를보십시오. JQuery를 사용하여이 JSON 구문 분석

$.ajax({ 
      url: "http://wks52025:82/WcfDataService.svc/GetNotes()?$format=json", 
      type: "get", 
      datatype: "json", 
      success: function (data) { 
       $.each(data, function(i, item) { 
        alert(data[i].Title); 
       }) 
      } 
     }); 

    }); 

은 내 경고에 정의되지 않은 무엇입니까 코드의 내 성공 함수 블록에서 내 JSON

{ 
    "d": [ 
     { 
      "__metadata": { 
       "id": "http://wks52025:82/WcfDataService.svc/tblNotes(guid'93629a5f-2bb3-4190-b876-3d8a2997e76a')", 
       "uri": "http://wks52025:82/WcfDataService.svc/tblNotes(guid'93629a5f-2bb3-4190-b876-3d8a2997e76a')", 
       "type": "GenesisOnlineModel.tblNote" 
      }, 
      "NotesID": "93629a5f-2bb3-4190-b876-3d8a2997e76a", 
      "NotesTitle": "BSKYB", 
      "NotesText": "new Director of Brand and Media ", 
      "ParentID": 8879, 
      "ContactID": 309, 
      "JobID": 1000088150, 
      "UserID": "8b0e303a-68aa-49a5-af95-d994e2bdd5ac", 
      "GroupID": null, 
      "RelatedType": "Advertiser Contact", 
      "IsShared": true 
     }, 
     { 
      "__metadata": { 
       "id": "http://wks52025:82/WcfDataService.svc/tblNotes(guid'0f21866b-4a5c-417f-afe1-70ffbd1ce1f3')", 
       "uri": "http://wks52025:82/WcfDataService.svc/tblNotes(guid'0f21866b-4a5c-417f-afe1-70ffbd1ce1f3')", 
       "type": "GenesisOnlineModel.tblNote" 
      }, 
      "NotesID": "0f21866b-4a5c-417f-afe1-70ffbd1ce1f3", 
      "NotesTitle": "BSKYB More", 
      "NotesText": "Contacted all major contacts on this profile", 
      "ParentID": 8879, 
      "ContactID": null, 
      "JobID": null, 
      "UserID": "8b0e303a-68aa-49a5-af95-d994e2bdd5ac", 
      "GroupID": null, 
      "RelatedType": "Advertiser", 
      "IsShared": true 
     } 
    ] 
} 

입니다. 어떤 도움이라도 좋을 것입니다.

+0

전체'data' 변수를 콘솔에 인쇄 해보십시오. 한 가지 생각은 "Title"키가 존재하지 않기 때문에 파싱이 아니라 문제입니다. –

+0

크롬의 웹 개발자 도구를 사용하여 네트워크 요청 및 응답을 봅니다. JSON 본문을 반환합니다. 또한 서비스 URL을 입력하여 JSON을 볼 수도 있습니다. –

답변

4

닫기! 성공 블록에서 다음을 수행하십시오.

 success: function (data) { 
      $.each(data.d, function(i, item) { 
       alert(item.NotesTitle); 
      }) 
     } 

업데이트 : 구현 된 @Johans 코멘트.

+2

아니면 그냥'item.NotesTitle' – Johan

+0

고마워요, 지금 업데이트 됨 : – JAM

+0

나는 또한 올바른 것이기 때문에 이것을 upvoted. –

2

alert(data[i].Title);으로 경고합니다. JSON 배열 객체의 어떤 객체도 Title 속성을 가지고 있기 때문에 사용자의 JSON을 보면 아무 것도 undefined이됩니다. NotesTitle이 표시되지만 Title은 표시되지 않습니다. 그것을 다음으로 변경하십시오 :

success: function (data) { 
    $.each(data.d, function(i, item) { 
      alert(item.NotesTitle); 
    }) 
} 
+0

감사합니다. 데이터를 데이터로 변경하는 것은 내가 겪고있는 것이 었습니다. 나는 그것이 작고 무언가 였다는 것을 알았다. ( –

+0

, JQuery의 탁월함은 너무 빠르다. :) –