【问题标题】:Accessing an odd object访问一个奇怪的对象
【发布时间】:2016-08-09 06:12:58
【问题描述】:

我将如何访问下面的键和值...

users@email.com{"authenticated":"TRUE","devid":"12334567890"}

这将用于登录。我正在向 php 后端发送 http 帖子。

我想检查是否已通过身份验证 == true 我也希望能够使用设备。

我知道迭代是一种选择,但我知道 users@email.com 显然会因每个用户而改变。 那么如何访问这个动态对象呢?

【问题讨论】:

  • 据我所知,这不是一个格式正确的对象。
  • 这个对象在另一个对象里面吗?喜欢:users = {"users@email.com": {"authenticated":"TRUE","devid":"12334567890"}}
  • 不。这正是从服务器返回的内容@Adrian
  • @MichaelChristopherMartire 哦,我明白了,那么这不是一个对象,需要进一步处理才能将其作为一个对象,但不是那些@. 下面的答案可能会帮助你。跨度>

标签: javascript angularjs json object


【解决方案1】:

这样做:

var fileName='users@email.com{"authenticated":"TRUE","devid":"12334567890"}';
var str1 = fileName.split('{');
var str2 = str1[1].split('}');
var pos = JSON.parse('{'+str2[0]+'}');
alert(pos.authenticated);

pos.authenticated 将包含您的标志。

【讨论】:

    【解决方案2】:

    试试这个,

    var app = angular.module('plunker', []);
    
    app.controller('MainCtrl', function($scope) {
      
      $scope.users = {"users@email.com": {"authenticated":"TRUE","devid":"12334567890"}}
      var id = Object.keys($scope.users);
      console.log(id);
     console.log($scope.users[id[0]].authenticated);
      
      
    });
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
     <body ng-app="plunker" ng-controller="MainCtrl">
        <p>Hello {{name}}!</p>
      </body>

    【讨论】:

    • 它是服务器响应,手动添加 ':' 是不正确的。此外,对象之前的电子邮件 ID 可能是动态的,因此硬编码不会像您分配给 $scope.name 那样正确。
    • 对象中只有一个键?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    相关资源
    最近更新 更多