2011-10-23 2 views
0

UI 레이어에 errorId 및 오류 메시지를 전달하는 데 사용 된 List 오류 엔터티가 있습니다.Parse Json Object

public class ErrorEntity 
    { 
     public int ErrorId 
     { 
      get; 
      set; 
     } 

     public string ErrorMessage 
     { 
      get; 
      set; 
     } 
    } 
} 

개체를 자바 스크립트로 보내려면 JSON에 직렬화합니다.

json으로 나는 이제 사용자에게 오류 메시지를 표시하려면이 JSON 문자열을 구문 분석 할 필요가

[{"ErrorId":1,"ErrorMessage":"Test has not been prepared for tag EP105"},{"ErrorId":2,"ErrorMessage":"Test has not been prepared for tag EP105"}] 

같은 직렬화 모양 후에 얻고있다. 어떻게 해석 할 수 있는지 알려주세요. 그 안에 트래버스하기위한 for 루프를 작성해야합니까?

EDIT 내 마스터 페이지에서 구문 분석을 시도하고 있습니다.

var jsonArray = JSON.parse(serializedString); 
window.alert(jsonArray[0].ErrorMessage); 

가을 다시 eval()에, 그렇지 않으면 :

function ShowErrorMsg(jsonObject) { 
    for (i = 0; i < jsonObject.Object.length; i++) { //Object is undefined here. 
    alert(jsonObject.Object.ErrorMessage); 
    }   
} 
+1

당신이 JQuery와 같은 기반 라이브러리를 어떤 아약스를 사용하는) (JS 악마에서입니다) - 이것에 대한 JS를 사용하지 - 그것의 더 나은 라이브러리를 사용하는 - 당신은 또한주의 this

좀 걸릴 수 있습니다 ? 일부 브라우저에는 json 문자열을 구문 분석 할 수있는 고유 기능이 있습니다. 어떤 대상 브라우저 (들) – deostroll

답변

2

JSON.parse() 선호 시도

var jsonArray = eval(serializedString); 
window.alert(jsonArray[0].ErrorMessage); 
+0

더 선호하는 방법은 무엇입니까? eval이 안전할까요? –

+0

JSON에서 사용하는 자바 스크립트의 하위 집합만을 구문 분석하고'eval()'보다 안전 한'JSON.parse()'를 사용하는 것이 더 좋은 방법입니다. –

+0

브라우저가 JSON.parse()를 지원하지 않는 경우 폴백을 구현해야하는 jQuery와 같은 라이브러리를 사용해야합니다. – Jamie

0

이 가능한 경우 Json.NET

+0

내 스크립트 파일에서 구문 분석하려고합니다. –

+0

plz 더 많은 정보를 ... javacript ...를 통해 의미합니다. – deostroll

0

JSON을 구문 분석에 대한 대부분의 브라우저에서 지원이있다, I 이에 jQuery을 사용하는 것이 좋습니다.