首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >angularjs干扰json结构

angularjs干扰json结构
EN

Stack Overflow用户
提问于 2016-01-23 13:18:52
回答 4查看 61关注 0票数 3

我从服务器端得到一个json,顺序如下:

代码语言:javascript
复制
[{
  "outlet_id": 83
  "outlet_name": "My Outlet"
  "address": "My Outlet"
  "shop_number": "123"
  "street": "123"
  "building_no": "52"
  "key_location": "Location 123"
  "mohallah": "Mohalla 123"
  "landline": "1235869"
  "owner_name": "Owner"
  "Manufecture": "A"
  "BrandName": "B"
  "Variant": "C"
  "BRANDDiscription": "D"
  "SIZE": "E"
  "Variant/Promotions": null
  "Segment": null
}]

但是当我显示它时,它扰乱了秩序,我使用的是ng-重复,比如:

代码语言:javascript
复制
<td ng-repeat="(key, value) in vm.outletFieldAttrsList[0]">{{value}}</td>

属性的顺序与服务器返回的JSON中的顺序不一样,有谁能帮上忙?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-02-02 11:05:01

我找到了解决这个问题的办法:

代码语言:javascript
复制
<td ng-repeat="key in objectKeys(outletFieldAttrsList[0])"> </td>

和控制方:

代码语言:javascript
复制
$scope.objectKeys = function (obj) {
           
        return Object.keys(obj);
    }

Object.keys以与其存在相同的顺序返回该对象的键。

票数 0
EN

Stack Overflow用户

发布于 2016-01-23 13:31:06

不能保证JavaScript中对象属性的顺序。为此,您需要使用Array或Map。

相关:

按属性进行AngularJS排序

票数 0
EN

Stack Overflow用户

发布于 2016-01-23 13:31:56

Javascript "objects“没有所谓的”订单“--如果你说过

{ "e":0,"b":123,"c":345。

它将不被枚举为e,b,c,在文字中被设置-枚举的结果将是简单的b,c,e.(按字母表)

为了进行适当的枚举,您必须将顺序存储在其他实体中(如数组"e“、"b”、"c")。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34963936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档