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

Si alertar a los datos de respuesta veo lo anterior, ¿cómo puedo acceder al valor id?Obtener el valor json de la respuesta

Mis controlador vuelve como este:

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

En mi éxito ajax tengo esto:

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

Dice data.id es undefined.

+2

¿Cómo estás recibiendo los datos? ¿Podrías mostrar algo de Javascript? – lonesomeday

+0

'response.id' Creo :) –

Respuesta

22

Si la respuesta está en json y no en una cadena, entonces

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

lo contrario

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

fue el Json.parse() ... gracias! – slandau

+1

Tenga en cuenta que esto puede no funcionar en navegadores más antiguos. Puede usar [json2.js] (https://github.com/douglascrockford/JSON-js) para evitar esto. – lonesomeday

3

Normalmente se podía acceder a él por su nombre de la propiedad:

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

o tal vez usted tiene una cadena JSON que necesita ser convertido en un objeto:

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

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

+0

dice undefined. – slandau

+0

publicado arriba. gracias – slandau

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

results es ahora un objeto.

0

Si la respuesta está en JSON, entonces sería como:

alert(response.id); 

De lo contrario

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