JSON中指针丢失

时间:2015-11-13 18:04:42

标签: javascript json

考虑一下:

<DataGridTemplateColumn Header="Message" Width="60" MinWidth="60">

现在,如果我想将其移到服务器上,为了将它们保存到数据库中,只要我使用像JSON或XML这样的seralisation,指针关系就会丢失。

例如,服务器脚本如何知道,var master = { type:"master" }; var slave = { type:"slave" }; var array = [ master, slave, slave ]; slave只是相同的对象?

e.g。这将创建三个不同的DB行,一个用&#34; master&#34;在列slave中,以及两个不同的行&#34; slave&#34;在专栏type

你是如何处理的?在某些情况下广泛使用的是某种模式吗?

1 个答案:

答案 0 :(得分:2)

我不确定是否有一种简单的方法可以达到你想要的效果。我会考虑做以下事情:

  • 使用“获取或创建”方法管理是否在保存时为object列创建新记录,并在object.type("array", "object.type")上添加唯一约束取决于您的使用案例。

  • 使用基于RFC-6901的库,例如json-pointer来完成以下操作:

    //on the client
    var obj = {};
    pointer.set(obj, '/example/bla', 'hello');
    
    //on the server
    var obj = {
        example: {
            bla: 'hello'
        }
    };
    
    pointer.get(obj, '/example/bla');