一尘不染

是否有一个Jquery函数可以从解析的JSON字符串中获取#ref id值并将我指向引用的对象?

json

我整个下午都在寻找答案,但我似乎找不到找到完成我所需要的最佳方法。

我的JSON字符串(从Web服务返回)在其中具有循环引用(#ref),它指向字符串中的$ id。现在我知道,如果使用jquery
parseJSON,它将创建javascript对象,并且我可以访问属性la
myObject.MyPropertyName。但是,当我进入#ref时,我不确定如何获取ID指向的对象(我认为该对象是由于反序列化而创建的…

我应该遍历对象及其所有子对象,直到找到它,还是有一种更简单的方法?

$.ajax({
        type: "POST",
        url: "/Task.asmx/GetTask",
        data: "{'id':'" + '27' + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            _Data = $.parseJSON(msg.d ? msg.d : msg);
            _this.Company = _Data[0].t_Program.t_Company;
            _this.Program = _Data[0].t_Program;
            _this.Task = _Data[0];
        },
        complete: function () {

        }
    });

有问题的区域是_Data [0] .t_Program,因为它不返回对象而是返回

_Data[0].t_Program
 {...}
   $ref: "12"

我不完全知道获取带有$ id“ 12”的对象的最佳方法。根据下面的帖子,看来我应该遍历现有对象,但是我希望有一个做到这一点的jQuery函数…

非常感谢!


阅读 191

收藏
2020-07-27

共1个答案

一尘不染

不,jQuery本身不具有解决从JSON转换的对象中的循环引用的功能。

我知道的唯一库是Dojo的dojox.json.refmodule

但是,您的服务器应用程序会以某种方式序列化该JSON。不要告诉我它使用的解决方案没有提供反序列化算法!

2020-07-27