javascriptから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);
しかし、htmlコードのjavascriptからこのsjson変数にアクセスすると、何も返されませんが、ハードコーディングすると値が返されます。これについて助けてください。私は多くのことを試みましたが、うまくいきませんでした。また、取得した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);
解析された値で使用しても何も返されません。:(
以下は、c#を介してシリアライザーを実行した後に取得するjson出力(response.write)のサンプルです。
これについて私を助けてください..私はここで問題を見つけることができないようです。
編集:
それが役立つ場合、以下は、シリアル化を行わずにサーバーから直接取得するjson文字列です。
所有者のリクエストにより、質問の内容がほとんど削除されていません