javascript - Angular .js :13920 Error: [ngRepeat:dupes] Duplicates in a repeater

标签 javascript angularjs json

尝试读取以下 json 和 html 中的映射时出现以下错误

js:

searhController.orderlogs.results = JSON.stringify(response.data);

Angular :

<tr ng-hide="searhController.searching" ng-repeat="log in searhController.orderlogs.results">
                    <td>{{log.idTransaction}}</td>
                   <!-- <td>{{log.amount}}</td>
                    <td>{{log.clientName}}</td>
                    <td>{{log.created}}</td>
                    <td>{{log.currency}}</td>
                    <td>{{log.discountedAmount}}</td>
                    <td>{{log.lastUpdate}}</td>
                    <td>{{log.orderId}}</td> -->
                </tr>

JSON:

 [{"idTransaction":2081101,"amount":34990.0,"clientName":"Payment hub","created":"ene 12, 2015","currency":"CLP","discountedAmount":34990.0,"lastUpdate":"ene 12, 2015","orderId":"1421094905114","productDescription":"total: 1 item(s)","fop":{"nameFop":"CAT_FAKE"},"application":{"idApplication":10001,"nameApplication":"TEST APPLICATION"},"transactionStatus":{"nameTransactionStatus":"Waiting for reply"},"transactionByFop":{"settled_amount":0.0,"installments_amount":0.0,"installments_number":0}}]

错误:

angular.js:13920 Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: log in searhController.orderlogs.results, Duplicate key: string:a, Duplicate value: a

最佳答案

您的 JSON 无效,您应该正确格式化它,因为它不是那么小——单行是非常糟糕的。

这是有效的:

{  
   "transaction":{  
      "idTransaction":2081101,
      "amount":34990.0,
      "clientName":"Payment hub",
      "created":"ene 12, 2015",
      "currency":"CLP",
      "discountedAmount":34990.0,
      "lastUpdate":"ene 12, 2015",
      "orderId":"1421094905114",
      "productDescription":"total: 1 item(s)",
      "fop":{  
         "nameFop":"CAT_FAKE"
      },
      "application":"",
      "idApplication":10001,
      "nameApplication":"TEST APPLICATION"
   },
   "transactionStatus":{  
      "nameTransactionStatus":"Waiting for reply"
   },
   "transactionByFop":"",
   "settled_amount":0.0,
   "installments_amount":0.0,
   "installments_number":0
}

我做了什么?

你有两个空属性,它们没有填充任何数据并且破坏了你的 JSON,比如:

[INVALID] "attr1" : "attr2" : "valueOfAttr2",
[VALID]   "attr1" : "", "attr2":"valueOfAttr2" 

并且您有多个 Root 元素,因此它不是有效的 JSON。 尝试使用正确的数据并测试它是否有效。

关于javascript - Angular .js :13920 Error: [ngRepeat:dupes] Duplicates in a repeater,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38773264/

相关文章:

javascript - OneSignal 自定义提示设置和通知按钮

javascript - 强大的用户库,可与 Node.js(javascript) 的示例 java/go 相媲美

javascript - AngularJs orderBy 很深的字段?

javascript - 如果项目不存在,$.inArray 函数不会返回 "-1"

java - Spring Rest 服务未返回完整对象

javascript - 如何使用 javascript 一次按顺序显示一个 div?

javascript - 输入文本字段旁边的按钮

javascript - pdf 阅读可以在浏览器中进行,但不能在 Ionic 应用程序的移动设备中进行

javascript - 如何使用 Angularjs 编辑输入字段?

iphone - iPhone 应用程序后端示例