2012-01-23 3 views
0

Я преобразовал класс C# в Json Object после него Я строю этот json-объект, затем он преобразует с обратным слэшем (escaping character) и когда я использовал следующий код для чтения строки json, которую он дает меня неопределенное сообщение в тревоге.Ошибка в чтении Json String с обратной косой чертой в JavaScript

<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

Но когда я конвертирован мой C# объект класса в Json, как это он преобразует его с косым, JavaScriptSerializer objSerializer = новый JavaScriptSerializer(); JSONString = objSerializer.Serialize (_ReachOut); – Shailesh

+0

@Shailesh какой тип объекта '_ReachOut'? –

+0

Спасибо за помощь ур ... получил решение alert (JSON.parse (jsString.JsonString [i]). Reachoutid) – Shailesh

2

Ваш JSON хранится в виде строки, а не в качестве родного объекта. Для того, чтобы преобразовать его обратно, изменить свою alert(...) линии использовать JSON.parse(...) так:

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

Спасибо, Billy Moon It Works – Shailesh