我在尝试从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