2012-03-11 9 views
0

원하는 작업을 수행하는 방법에 대한 몇 가지 예제를 읽었지만 아무 것도 작동하지 않는 것 같습니다. JSON 배열을 반복하고 싶지만 저에게는 효과가 없습니다.JSON 배열을 반복합니다.

var myObject = eval('(' + locations + ')'); 

은 다음과 같습니다 (형식의) :

"[\r\n {\r\n \"EntryId\": 3,\r\n \"Title\": \"Tiny Living For sales\",\r\n \"Description\": \"This is a house for sale\",\r\n \"AddressViewModel\": {\r\n  \"AddressId\": 3,\r\n  \"Street1\": null,\r\n  \"Street2\": null,\r\n  \"City\": \"Los Angeles\",\r\n  \"LocationId\": 5,\r\n  \"LocationName\": \"California\",\r\n  \"PostalCode\": null,\r\n  \"Phone\": null,\r\n  \"Latitude\": 34.052234,\r\n  \"Longitude\": -118.243685\r\n },\r\n \"EntryCategoryName\": \"Houses for Sale\",\r\n \"EventStartDate\": null,\r\n \"EventEndDate\": null\r\n },\r\n {\r\n \"EntryId\": 2,\r\n \"Title\": \"Tiny Living Workshop\",\r\n \"Description\": \"This is a workshop\",\r\n ... 

을 내가 그렇게함으로써 목적으로 바꿀 경우 : 내 데이터를 콘솔의 Chromes의 JS에서 볼 때 다음과 같습니다

나는 그것을 반복하는 (원시 JSON 또는 객체 중 하나를)하려고 할 때
[ 
{ 
"EntryId": 3, 
"Title": "Tiny Living For sales", 
"Description": "This is a house for sale", 
"AddressViewModel": { 
    "AddressId": 3, 
    "Street1": null, 
    "Street2": null, 
    "City": "Los Angeles", 
    "LocationId": 5, 
    "LocationName": "California", 
    "PostalCode": null, 
    "Phone": null, 
    "Latitude": 34.052234, 
    "Longitude": -118.243685 
}, 
"EntryCategoryName": "Houses for Sale", 
"EventStartDate": null, 
"EventEndDate": null 
}, 
{ 
"EntryId": 2, 
"Title": "Tiny Living Workshop", 

...

는하지만 나에게 각 르를 제공합니다 배열의 JSON의 라 자세 히가 아니라 각 개체과 같이

for (var i = 0; i < myObject.length; i++) { console.log(myObject[i]); } 

: 당신이 시도 할 다음

" 
[ 
\ 
r 
\ 

감사

+2

하지 문제지만,'사용하지 않는 : 그래서

지금 복귀하고 eval()','JSON.parse()'를 사용하십시오. – nnnnnn

+0

@nnnnnn'JSON.parse'는 어디에서나 사용할 수 없습니다. 댓글에 면책 조항이 필요합니다. –

+0

JSON.parse()는 동일한 결과를 제공합니다. –

답변

1

나는 그것을 알아 낸 것입니다. 나는 내가 JSON 결과를 저장하는 사용자에게 메시지를 표시에서 IE를 방지하기 위해 다른 컨트롤러에서이 작업을 수행했다이

return Json(jsonResults, "text/html"); 

처럼 내 컨트롤러에서 JSON을 반환했다. 어쨌든, 그것은 데이터 주위에 따옴표를 두어 정확하게 파싱되지 않았습니다. 다행스럽게도 필자는 IE 문제가없는

return Json(jsonResults); 

을 (9에서 테스트를하고 그것을 보지 않았다)

4

당신은 JSON을 평가하고이 "myObject에"결과를 할당하고, "위치"를 반복합니다. 그게 작동하지 않는 것은 당연합니다 :-)

+1

'for (var i = 0; i

+0

예 @JuanMendes 감사합니다. – Pointy

+0

아, 나는 그것을 잡지 못했습니다. op는 변환 된 변수가 아니라 소스 변수를 반복합니다. downvote를 제거하고 반짝이는 멋진 upvote로 바꾸기) – jmort253

관련 문제