获取javascript警报窗口中填充的json对象数据

获取javascript警报窗口中填充的json对象数据,javascript,ajax,json,servlets,serialization,Javascript,Ajax,Json,Servlets,Serialization,我有一个java servlet,它会返回一个序列化的json对象,在json中,我有如下数据: brands: [ { name: "audi", title: "Audi", datePublished: "23-04-2014", lastUpdated: "15-05-2014", logo: "/content/dam/inchcape/product-passion/brand-logos/Audi_logo.png", countrydata: [ { countrynam

我有一个java servlet,它会返回一个序列化的json对象,在json中,我有如下数据:

    brands: [
{
name: "audi",
title: "Audi",
datePublished: "23-04-2014",
lastUpdated: "15-05-2014",
logo: "/content/dam/inchcape/product-passion/brand-logos/Audi_logo.png",
countrydata: [
{
countryname: "uk",
countrytitle: "United Kingdom",
languages: [
{
name: "en",
title: "English",
datePublished: "23-04-2014",
lastUpdated: "09-01-2014",
products: [
{
name: "new-audi-a3-cabriolet",
title: "New Audi A3 Cabriolet",
datePublished: "23-04-2014",
lastUpdated: "19-05-2014",
path: "/content/inchcape/product-passion/uk/audi/en/new-audi-a3-cabriolet"
}
],
archivedProducts: [ ]
}
]
}
]
},
现在我要做的是使用javascript将这些数据写入警报,下面是我的代码

var jsonDataForBrands;

function changeBrand(){
    var builder = 'jsonDataForBrands has:\n';
    for (field in jsonDataForBrands) {
        builder += field + ' = ' + jsonDataForBrands[field] + '\n';
    }
    alert(builder);
}

$(function () {
    $.ajax('/bin/public/inchcape/product-passion/available-brands', {
        dataType: 'json'
    })
    .done(function (data) {
        jsonDataForBrands = data;

        changeBrand();
    });
});

任何帮助都将不胜感激

我想你忘了解析jsonDataForBrands=JSON.parse(data)

我猜你忘了解析jsonDataForBrands=JSON.parse(数据)

试试看:

$(function () {
    $.ajax('/bin/public/inchcape/product-passion/available-brands', {
        dataType: 'json'
    })
    .done(function (data) {
        jsonDataForBrands = JSON.parse(data);

        changeBrand();
    });
});
尝试:


它在抱怨:未捕获的语法错误:意外标记o,有什么建议吗?它在抱怨:未捕获的语法错误:意外标记o,有什么建议吗?