Sencha Touch中嵌套的JSON和重复条目

时间:2012-07-29 21:37:46

标签: sencha-touch sencha-touch-2

我们有一个JSON字符串文章,每篇文章都有评论。此外,文章和评论都包含作者/评论者信息。

因为Sencha使用“id”作为模型键,所以在Sencha加载JSON之后(如下所示),第一篇文章包含article.user,但其注释对象不包含它,例如comment.user不存在。问题是我们如何避免这个问题?

我们尝试的一种方法是从用户模型和JSON中删除id字段。然后,Sencha将创建自己的id值,在这种情况下,所有数据都会被加载。但是,似乎如果我们对article.user对象进行了更改,我们就不会看到(我们知道)对应于同一用户的其他用户对象的更改。

另一种节省带宽并解决先前问题的方法是通过为这些情况提供指向对象的指针来避免(可能)具有相同用户对象的多个副本。在这种情况下,将加载文章的用户对象,但其他实例只包含指向该对象的指针。这里的问题是我们无法删除初始对象。

在Sencha Touch(2)中解决此问题的标准方法是什么?

{"articles": [
    {
        "id": "14338138",
        "user_id": "1",
        "title": "test",
        "user": {
            "id":"1545"
            "first_name": "Joe",
            "last_name": "Kae",
            "status":"1"
        },
        "comments": [
            {
                "id": "1545",
                "article_id": "14338138",
                "says":"This is my first comment to my own article.",
                "user": {
                    "id":"42",
                    "first_name": "Joe",
                    "last_name": "Kae",
                    "status": "1"
                }
            },
            {
                "id": "1546",
                "article_id": "14338138",
                "says":"This is my second comment to my own article.",
                "user": {
                    "id":"42",
                    "first_name": "Joe",
                    "last_name": "Kae",
                    "status": "1"
                }
            }
       ]
    }
]
});

1 个答案:

答案 0 :(得分:0)