Obter object JSON da chamada AJAX

Eu sou novo em AJAX e javascript . No meu projeto, eu tenho que pegar um object json no meu arquivo javascript . Eu usei spray-json e me mostra o object json no url. http://localhost:8081/all-modules

 { "status": "S1000", "description": "Success", "results": ["module1", "module2", "module3"] } 

Minha chamada Ajax

  $.ajax({ url: 'http://localhost:8081/all-modules', dataType: 'application/json', complete: function(data){ alert(data) }, success: function(data){ alert(data) } 

Ele retorna um alerta [object Object] . Qual é o problema aqui?

Experimente o seguinte;

 var data = '{"name": "John","age": 30}'; var json = JSON.parse(data); alert(json["name"]); alert(json.name); 

Você também pode conferir este link: Como acessar o object JSON em JavaScript

Se você deseja ver todos os dados no object JSON, use JSON.stringify Consulte aqui para mais detalhes

Espero que ajude.

apenas console.log (dados) você verá seu object.

você pode acessar o seu valor por algo parecido com isto

 data.id //will give you id 

isso também depende de você json como você está criando verificar isso para explicação

 // if it simply json then access it directly //Example => {"id":1,"value":"APPLE"} data.id; // will give you 1 // if it json array then you need to iterate over array and then get value. //Example => [{"id":1,"value":"APPLE"},{"id":2,"value":"MANGO"}] then data[0].id; // will give you 1 

então seu código será assim

  $.ajax({ url: 'http://localhost:8081/all-modules', dataType: 'application/json', complete: function(data){ alert(data.status);// S1000 alert(data.description);// Success // for results you have to iterate because it is an array var len = data.results.length; for(var i=0;i 

tente console.log () ele irá fazer o login no console. O alerta não exibe o object.

  $.ajax({ url: 'http://localhost:8081/all-modules', dataType: 'application/json', complete: function(data){ console.log(data) }, success: function(data){ console.log(data) } 

Eu acho que você acabou de imprimir o object. Tente algo assim

 $.ajax({ url: 'http://localhost:8081/all-modules', dataType: 'application/json', complete: function(data){ alert("status = "+data.status+"descripttion"+data.description); }, success: function(data){ alert("status = "+data.status+"descripttion"+data.description); } 

data não estão mais no formato JSON, são um object JavaScript . Você não precisa mais usar a function como jQuery.parseJSON.

É um erro comum para iniciantes.

Se você quiser ver este object JavaScript, tente alert(JSON.stringify(data));

Tente data[0].status; . Seus dados estão em um object agora. No console.log(data) você pode ver que