2011-04-11 4 views
9
{"id":"2231f87c-a62c-4c2c-8f5d-b76d11942301"} 

Si j'alerte les données de réponse, je vois ce qui précède, comment puis-je accéder à la valeur id?Obtenir la valeur json de la réponse

Mon contrôleur revient comme ceci:

return Json(
    new { 
     id = indicationBase.ID 
    } 
); 

Dans mon ajax succès que j'ai ceci:

success: function(data) { 
    var id = data.id.toString(); 
} 

Il dit data.id est undefined.

+2

Comment recevez-vous les données? Pourriez-vous montrer du Javascript? – lonesomeday

+0

'response.id' Je pense :) –

Répondre

22

Si la réponse est en json et non une chaîne, alors

alert(response.id); 
or 
alert(response['id']); 

autrement

var response = JSON.parse('{"id":"2231f87c-a62c-4c2c-8f5d-b76d11942301"}'); 
response.id ; //# => 2231f87c-a62c-4c2c-8f5d-b76d11942301 
+1

c'était le Json.parse() ... merci! – slandau

+1

Notez que cela peut ne pas fonctionner sur les anciens navigateurs. Vous pouvez utiliser [json2.js] (https://github.com/douglascrockford/JSON-js) pour contourner ce problème. – lonesomeday

3

Normalement, vous pouvez accéder par son nom de la propriété:

var foo = {"id":"2231f87c-a62c-4c2c-8f5d-b76d11942301"}; 
alert(foo.id); 

ou que vous avez peut-être obtenu une chaîne JSON qui doit être transformé en un objet:

var foo = jQuery.parseJSON(data); 
alert(foo.id); 

http://api.jquery.com/jQuery.parseJSON/

+0

Dit undefined. – slandau

+0

affiché en haut. merci – slandau

1
var results = {"id":"2231f87c-a62c-4c2c-8f5d-b76d11942301"} 
console.log(results.id) 
=>2231f87c-a62c-4c2c-8f5d-b76d11942301 

results est maintenant un objet.

0

Si la réponse est en JSON alors ce serait:

alert(response.id); 

Sinon

var str='{"id":"2231f87c-a62c-4c2c-8f5d-b76d11942301"}'; 
Questions connexes