次のようなJavascriptオブジェクトがあります。
var jsonDataActual = {
"source": [{
"name": "testCaption0",
"desc": "testDescrip0",
"values": [{
"from": "/Date(1338811241074)/",
"to": "/Date(1346760041074)/",
"label": "testLabel0",
"customClass": "GanttRed"
}]
}],
"navigate": "scroll",
"scale": "weeks",
"maxScale": "months",
"minScale": "days",
"itemsPerPage": 11,
"onItemClick": function (data) { },
"onAddClick": function (dt, rowId) { }
};
それは私にとってはうまくいきます。今、私の要件と必要性のために、このオブジェクト全体 (ブレース ie{ } とセミコロン ; を含む) をサーバー側 (C#) の文字列として作成し、サーバー側メソッドを使用して ajax 呼び出し (web メソッド) に返します。
サーバー側の方法では、次のようにします。
return new JavaScriptSerializer().Serialize(jsonData);
しかし、現在、この返されたデータ全体 ( 内Success: function(msg){ var s=msg.d}
) は文字列として扱われるため、機能しません。
私はこれらを試しました:
1. var obj = eval('{' + msg.d +'}'); (removing beginning and ending braces in msg.d)
typeof(obj) is string. failed
2. eval('var obj ='+msg.d); (including beginning and ending braces in msg.d)
typeof(obj) is string. failed
3. var obj= jQuery.parseJson(msg.d);
typeof(obj) is string. failed
4. var obj = new Object();
//var obj = {};
obj=jQuery.parseJson(msg.d).
typeof(obj) is string. failed.
助けてください。サーバー側で返されたjsonをオブジェクトに変換するにはどうすればよいですか?
なぜそれは私のために働いていないのですか??. 私のjsonオブジェクトの構造が原因ですか??
そして、なぜjsonDataActual
私にとってはうまくいくのに、文字列として送信されたときはうまくいかないのですか???
助けてください.....