从AJAX调用获取JSON对象

时间:2014-03-06 07:14:48

标签: javascript jquery ajax json spray-json

我是AJAXjavascript的新手。在我的项目中,我必须在json文件中获得javascript个对象。我使用了spray-json,它向我展示了url中的json对象。 http://localhost:8081/all-modules

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

我的Ajax电话

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

它会返回警告[object Object]。这里有什么问题?

7 个答案:

答案 0 :(得分:16)

尝试以下方法;

var data = '{"name": "John","age": 30}';

var json = JSON.parse(data);

alert(json["name"]);
alert(json.name);

您还可以查看以下链接:How to access JSON object in JavaScript

答案 1 :(得分:4)

如果您希望查看JSON对象中的所有数据,请使用JSON.stringify 有关详细信息,请参阅here

希望有所帮助。

答案 2 :(得分:1)

只是console.log(数据),你会看到你的对象。

您可以通过类似的内容访问您的价值

data.id //will give you id

它也取决于你json如何创建检查这个解释

// 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 

所以你的代码就像这样

 $.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<len;i++ ){
            alert(data.results[i]);
        }
    },
    success: function(data){
        alert(data)
    }
})

答案 3 :(得分:0)

尝试console.log()它将登录控制台。警报不显示对象。

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

答案 4 :(得分:0)

data不再是JSON格式,而是Javascript Object。您不再需要使用jQuery.parseJSON之类的函数。

这对初学者来说是一个常见的错误。

如果您想查看此Javascript对象,请尝试alert(JSON.stringify(data));

答案 5 :(得分:0)

我认为你只是打印对象。尝试这样的事情

$.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);
    }

答案 6 :(得分:0)

试试data[0].status;。您的数据现在位于对象中。在console.log(data)您可以看到