j hashKey添加到我的JSON.stringify结果

前端之家收集整理的这篇文章主要介绍了j hashKey添加到我的JSON.stringify结果前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我试着看他们的文档的Mozilla JSON stringify页,以及这里的SO和谷歌,但没有发现任何解释。我使用JSOn stringify很多时间,但从来没有遇到这个结果

我有一个JSON对象数组

[
    {
        "param_2": "Description 1","param_0": "Name 1","param_1": "VERSION 1"
    },{
        "param_2": "Description 2","param_0": "Name 2","param_1": "VERSION 2"
    },{
        "param_2": "Description 3","param_0": "Name 3","param_1": "VERSION 3"
    }
]

附加到我的$范围和为了POST他们作为一个参数我使用JSON.stringify()方法,我得到以下:

[
        {
            "param_2": "Description 1","param_1": "VERSION 1","$$hashKey": "005"
        },{
            "param_2": "Description 2","param_1": "VERSION 2","$$hashKey": "006"
        },{
            "param_2": "Description 3","param_1": "VERSION 3","$$hashKey": "007"
        }
    ]

我只是好奇什么是什么是$$哈希键,因为我预计更类似于以下来自stringify方法的东西:

[
    {
        "1":{
            "param_2": "Description 1","param_1": "VERSION 1"
        },"2":{
            "param_2": "Description 2","param_1": "VERSION 2"
        },"3":{
            "param_2": "Description 3","param_1": "VERSION 3"
        }
    }
]

我不知道这是否是一个因素,但我在服务器端使用Angularjs 1.1.5,JQuery 1.8.2和Spring 3.0.4和Spring安全3.0.7

它不会导致我任何问题,但我想知道的$$哈希键的原因和原因

Angular添加了这个来跟踪你的更改,所以它知道什么时候需要更新DOM。

如果你使用angular.toJson(obj)而不是JSON.stringify(obj),Angular会剥离出这些内部使用的值。

此外,如果您更改重复表达式以使用{uniqueProperty}后缀的轨道,Angular将不必添加$$ hashKey。例如

<ul>
    <li ng-repeat="link in navLinks track by link.href">
        <a ng-href="link.href">{{link.title}}</a>
    </li>
</ul>

只要记住你需要“链接”。一部分的表达 – 我总是倾向于忘记。只跟踪href肯定不会工作。

猜你在找的Json相关文章