2016-08-09 33 views
0

Zugriff Wie würde ich die Schlüssel und Werte in der folgenden ... eine ungerade Objekt

[email protected]{"authenticated":"TRUE","devid":"12334567890"}

Zugriff

wird diese in für die Anmeldung verwendet werden. Ich bin ein http Post an eine Herstellung PHP-Backend

Ich möchte überprüfen, ob authentifiziert == true Ich möchte auch in der Lage sein, die Devid ebenso zu verwenden.

Ich weiß, iterating through ist eine Option, aber ich weiß, [email protected] wird sich offensichtlich für jeden Benutzer ändern. Wie kann ich auf dieses dynamische Objekt zugreifen?

+1

Dies ist kein richtig formatiert Objekt, soweit mir bekannt ist. –

+0

Ist dieses Objekt in einem anderen Objekt? wie: 'users = {" [email protected] ": {" authentifiziert ":" TRUE "," devid ":" 12334567890 "}}' – Adrian

+0

Nein. Das ist genau das, was vom Server zurückgegeben wird @Adrian –

Antwort

2

tun:

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

pos.authenticated Ihre Flagge enthalten.

0

die Sie interessieren,

var app = angular.module('plunker', []); 
 

 
app.controller('MainCtrl', function($scope) { 
 
    
 
    $scope.users = {"[email protected]": {"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>

+0

Es ist eine Serverantwort und das Hinzufügen von ':' manuell ist falsch. Auch die E-Mail-ID vor dem Objekt kann dynamisch sein, daher wird die Hardcodierung nicht korrekt sein, wie Sie $ scope.name zugewiesen haben. –

+0

Antwort aktualisiert .. –

+0

Sie haben nur einen Schlüssel im Objekt? –