2017-07-19 3 views
0

Ich bin ziemlich neu in JSON/Jquery Welt so bitte mit meiner Ignoranz.Json Ausgabe Anzeige von Webservice Anruf

Ich versuche, eine Ausgabe von einem Json Daten von Webservice Aufruf wie unten zurück zu lesen:

My Webservice Aufruf ist hier:

http://example.com/getPortfolioListByContact.json?component=C1&contactId=510297 

Diese gibt die Daten als:

{ 
    "data": [ 
    { 
     "PORTFOLIO_ID": 13495, 
     "SUBSCRIPTION_ID": 1653, 
     "STATUS": "ACTIVE", 
    } 
    ], 
    "success": true 
} 

Jetzt versuche ich, auf die JSON-Daten, die als Zeichenfolge zurückgegeben werden, aufmerksam zu werden, und möchte dies auch als Parsed/

erhalten
<script> 
var parsed ; 
$.getJSON("http://example.com/getPortfolioListByContact.json?component=C1&contactId=510297", function(data){ 
    alert(data.SUBSCRIPTION_ID); 
}); 
parsed = JSON.parse(data); 
alert(parsed) ; 
</script> 

Ich bekomme die Antwort in Alert als "Undefined". Ich mag es nicht richtig machen, den Erfolgshandler zu behandeln. Ich möchte jeden Wert und spezifischen Wert der JSON-Daten zurückgegeben bekommen. Bitte helfen.

Dank

Antwort

0

Ich erhalte die Antwort in Alert als "undefiniert".

Grund: Sie versuchen die API-Antwort aus dem Rahmen zu analysieren. Auf das Objekt data kann nur in dem vom API-Aufruf zurückgegebenen Versprechen zugegriffen werden.

Versuchen Sie, diese Hoffnung es wird wie pro Ihre Erwartung arbeiten:

$.getJSON("http://example.com/getPortfolioListByContact.json?component=C1&contactId=510297", function(res) { 
    var data = res.data; 
    alert(JSON.stringify(data)); 
}); 
+0

Ich habe diese Warnung über die gesamte Ausgabe von json erhalten Aber stringify Ich vermisse die Analyse. Wie kann ich die Daten nur für SUBSCRIPTION_ID abrufen? JSON.parse funktioniert nicht. Vielleicht fehlt mir etwas auf Bruttopegel. – pauldx

+0

Keine Notwendigkeit, JSON.parse zu verwenden, da Daten nur als geparste JSON kommen. Sie können direkt darauf zugreifen wie 'res.data [0] .SUBSCRIPTION_ID' –

+0

Danke @Rohit. Genau das brauche ich. – pauldx

0

Sie rufen data den Umfang Seite nach außen.

<script> 
var parsed ; 
var myData; 
$.getJSON("http://example.com/getPortfolioListByContact.json?component=C1&contactId=510297", function(data){ 
myData = data; 
    alert(data.SUBSCRIPTION_ID); 
}); 
parsed = JSON.parse(myData); 
alert(parsed) ; 
</script> 
+0

Dank aber leider immer noch nicht definiert zu werfen und nur eine Benachrichtigung .Durch die Art und Weise unter der Skriptaufruf in Top-Zugabe zu bekommen. pauldx