2012-01-23 3 views
0

Json Object에서 C# 클래스를 변환 한 후 해당 json 객체를 문자열로 변환 한 후 백 슬래시 (이스케이프 문자)로 변환하고 다음 코드를 사용하여 json 문자열을 읽습니다. 경고 메시지에 정의되지 않은 메시지가 표시됩니다. JavaScript에서 백 슬래시로 Json String을 읽는 중 오류가 발생했습니다.

<script> 



    var jsString = { "JsonString": ["{\"reachoutid\":1,\"user_ID\":1,\"question\":\"Best CMS in Microsoft .Net\",\"anonymous\":false,\"shared\":false,\"create_date\":\"\\/Date(-62135596800000)\\/\",\"update_date\":\"\\/Date(1327300086183)\\/\",\"status\":0,\"start_date\":\"\\/Date(-62135596800000)\\/\",\"end_Date\":\"\\/Date(-62135596800000)\\/\",\"reachoutfactorsList\":null,\"reachoutchoicesList\":[{\"reachoutid\":0,\"choice_ID\":4,\"orders\":0,\"description\":\"Sitecore\",\"preachOutID\":0,\"pchoice_ID\":4,\"porders\":0,\"pdescription\":\"Sitecore\"},{\"reachoutid\":0,\"choice_ID\":5,\"orders\":0,\"description\":\".Net Nuke \",\"preachOutID\":0,\"pchoice_ID\":5,\"porders\":0,\"pdescription\":\".Net Nuke \"},{\"reachoutid\":0,\"choice_ID\":6,\"orders\":0,\"description\":\"Drupal\",\"preachOutID\":0,\"pchoice_ID\":6,\"porders\":0,\"pdescription\":\"Drupal\"}],\"detail\":\"Write more text to check progress bar work properly.\",\"set_Listof_Tags\":null,\"tag\":null,\"get_Listof_Tags\":null,\"userstatus\":null,\"actType\":\"RO\"}"], "_getList_MyActivities": null, "_getList_MyPeersActivities": null, "userID": 1 } 

    for (i = 0; jsString.JsonString.length > i; i++) 
    { 

     alert(jsString.JsonString[i].reachoutid); 

     //"Giving Undefined Message " 

    } 

</script> 

답변

0

는 귀하의 JSON을 인용해서는 안된다. 이 경우, JS는 해석 대신 문자열

var jsObject = { "JsonString": [{"reachoutid":1,"user_ID":1,"question":"Best CMS in Microsoft .Net","anonymous":false,"shared":false}]} // etc. 
+0

을하지만이 같은 JSON에 내 C# 클래스 개체를 변환 할 때 백 슬래시, JavaScriptSerializer objSerializer = 새로운 JavaScriptSerializer()로 변환을; JSONString = objSerializer.Serialize (_ReachOut); – Shailesh

+0

@Shailesh 어떤 종류의 객체가'_ReachOut'입니까? –

+0

ur 도움을 주셔서 감사합니다 ... 솔루션 경고 (JSON.parse (jsString.JsonString [i]). reachoutid) – Shailesh

2

귀하의 JSON이 아닌 기본 개체로, 문자열로 저장되는 객체로한다. 그것을 다시 변환하려면이 같은 JSON.parse(...) 사용하도록 alert(...) 줄을 변경 :

alert(JSON.parse(jsString.JsonString[i]).reachoutid) 
+0

감사 빌리 문 그것은 작동합니다 – Shailesh

관련 문제