2

私はjQuery関数を持っています-これはそれが得ている応答です

   {"d":"{\"res\":\"\\u003cdiv class=\\\"accordian_head\\\"\\u003e\\u003cdiv class=\\\"plus\\\"\\u003e\\u003c/div\\u00..........."NewTags\":\"\\........

応答が{"d": "response ..."}の場合、jQueryでmsg.dだけを使用して問題なく読み取ることができますが、ここでは "res":"text"が"d"にネストされています。この応答からresを読みますか?私は試した

      success: function (msg) {
                    var obj = unescape(msg.d);
                    var res = unescape(obj.res);
                    var newtags = unescape(obj.NewTags);

貼り付けたサンプルJSONはmsgです。

4

3 に答える 3

2

どうですか:

$.parseJSON(msg.d)

これにより、引用符のエスケープが解除され、文字列がJSONに解析されます。

于 2012-06-18T14:43:03.277 に答える
1

取得dすると文字列を返します。resそのプロパティにアクセスするには、オブジェクトが必要です。これを試して:

success: function (msg) {
                    var obj = eval(unescape(msg.d));
                    var res = unescape(obj.res);
                    var newtags = unescape(obj.NewTags);

unscapeが何をするかに応じて、あなたはただ試してみたいかもしれませんeval(msg.d)

evalが機能しない場合は、jQuery.parseJSONを試してください

于 2012-06-18T14:43:12.953 に答える
0

msg.dからを実行する必要があります$.parseJSON()

サーバースクリプトを微調整して、代わりにネストされたJSONとして返すことができればさらに良いでしょう。

于 2012-06-18T14:44:18.507 に答える