我在嘗試從javascript訪問json中的元素時遇到了這個奇怪的問題。我retreve JSON字符串從像這樣一個URL,從JSON中讀取數據不顯示
// Create Request
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(@"www.someurl.com");
// Create Client
WebClient client = new WebClient();
// Assign Credentials
client.Credentials = new NetworkCredential("username", "pass");
// Grab Data
sjson = client.DownloadString(@"www.someurl.com");
System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
oSerializer.MaxJsonLength = Int32.MaxValue;
sjson = oSerializer.Serialize(sjson);
但是,當我從JavaScript的HTML代碼中訪問這個sjson變量,它不返回任何東西,但如果我硬編碼,它返回的值,請幫助這一個。我嘗試了很多東西,但沒有奏效。我也嘗試只傳遞retreieved json字符串而不進行序列化,當我這樣做時javascript停止工作。 :(下面是javascript代碼,
<script type="text/javascript">
var jsons = JSON.parse('<%=sjson%>');
function initialize() {
alert("hahahahaaa");
document.writeln(jsons.Body[0].RowId.SensorIdValue);
//document.writeln(myobject.Body[0].RowId.SensorIdValue);
}
</script>
的問題是
document.writeln(myobject.Body[0].RowId.SensorIdValue);
如果我用myObject的變量返回一個值,但
document.writeln(jsons.Body[0].RowId.SensorIdValue);
回報沒事的時候我用它解析值:(
以下是json輸出(response.write)的示例我得到了af通過C#運行序列化程序,
請幫助我在這一個..我似乎無法找到問題在這裏。
編輯:
如果它幫忙,fiollowing是JSON字符串我得到直接從服務器不用其他作出任何序列化,
的問題很少有內容已被刪除,由於業主要求
使用'的console.log(jsons)驗證JSON對象的值;' – adatapost
我不知道如何ASP發送編碼的JSON ,但你試圖去掉斜槓? – Guilherme
你正在序列化它兩次!它已經從Web服務下載時已經序列化。 – Nathan