什么是添加到我的JSON.stringify结果的$$ hashKey

我已经尝试查看他们的文档的Mozilla JSON stringify页面以及SO和Google,但没有找到任何解释。我已经多次使用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"
    }]

附加到我$scopePOST他们作为一个参数我使用JSON.stringify()方法,我得到以下内容:

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

我只是很好奇究竟是什么是$$ hashkey,因为我期望与stringify方法中的以下内容更相似:

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

我不确定它是否是一个因素,但我正在使用 Angularjs 1.1.5, JQuery 1.8.2 and Spring 3.0.4 and Spring security 3.0.7 on the Server side

它不会引起任何问题,但我想知道原因和原因 $$hashkey


莫回无
浏览 967回答 3
3回答

千巷猫影

在我的用例中(将生成的对象提供给X2JS)推荐的方法data = angular.toJson(source);有助于删除$$hashKey属性,但X2JS不再处理结果。data = angular.copy(source);同时删除了$$hashKey属性,但结果仍可用作X2JS的参数。

慕婉清6462132

如果您不想将id添加到数据中,则可以按数组中的索引进行跟踪,这将导致项目在数组中的位置而不是其值中键入。像这样:var&nbsp;myArray&nbsp;=&nbsp;[1,1,1,1,1];<li&nbsp;ng-repeat="item&nbsp;in&nbsp;myArray&nbsp;track&nbsp;by&nbsp;$index">
打开App,查看更多内容
随时随地看视频慕课网APP