Javascript对象o数组

Javascript对象o数组,javascript,jquery,ajax,Javascript,Jquery,Ajax,我尝试使用jQuery执行jQuery.parseJSON和JSON.stringify以获取JSON响应,但似乎无法获取名为label的数据 { "message":"Success", "result": [ { "prediction": [ { "label"

我尝试使用jQuery执行jQuery.parseJSON和JSON.stringify以获取JSON响应,但似乎无法获取名为label的数据

{
    "message":"Success",
    "result":
        [
            {
                "prediction":
                    [
                        {
                            "label":"Anta",
                            "probability":0.095694885
                        },
                        {
                            "label":"Mice",
                            "probability":0.9043051
                        }
                    ]
            }
        ]
}
我正在尝试使用ajax接受请求,并尝试这样使用它:

function success(name) {
         var json = jQuery.parseJSON(name);
         var jsons = JSON.stringify(name);
         console.log(json.result['prediction'].label);
    },

您可以通过使用索引(例如,第一项为0)来访问数组:

function success(name) {
    var json = jQuery.parseJSON(name);
    var jsons = JSON.stringify(name);
    console.log(json.result[0].prediction[0].label); // == Anta
}
JavaScript还可以直接解析JSON。您应该能够做到:

function success(name) {
    var json = JSON.parse(name);
    console.log(json.result[0].prediction[0].label); // == Anta
}
顺便说一下,您可以在jquery文档中阅读:

从jQuery 3.0开始,$.parseJSON已不推荐使用。要解析JSON字符串,请改用本机JSON.parse方法

如果要获取所有标签,请执行以下操作:

function success(name) {
    const json = JSON.parse(name);
    const labels = json.result.map(r => r.prediction.map(p => p.label)).flat().flat();

    console.log(labels); // == Anta, Mice
}

这是一个使用
map()
flat()
的es6解决方案。如有疑问,请查看msdn上的文档。

您可以使用索引(例如,第一项的索引为0)访问数组:

function success(name) {
    var json = jQuery.parseJSON(name);
    var jsons = JSON.stringify(name);
    console.log(json.result[0].prediction[0].label); // == Anta
}
JavaScript还可以直接解析JSON。您应该能够做到:

function success(name) {
    var json = JSON.parse(name);
    console.log(json.result[0].prediction[0].label); // == Anta
}
顺便说一下,您可以在jquery文档中阅读:

从jQuery 3.0开始,$.parseJSON已不推荐使用。要解析JSON字符串,请改用本机JSON.parse方法

如果要获取所有标签,请执行以下操作:

function success(name) {
    const json = JSON.parse(name);
    const labels = json.result.map(r => r.prediction.map(p => p.label)).flat().flat();

    console.log(labels); // == Anta, Mice
}

这是一个使用
map()
flat()
的es6解决方案。如果有疑问,请查看msdn上的文档。

使用映射方法获取所有标签

json.result[0].prediction.map((obj)=>{return obj.label})

使用map方法获取所有标签

json.result[0].prediction.map((obj)=>{return obj.label})

您可以尝试类似以下内容吗
console.log(json.result['prediction'][0].label)?你能澄清你的问题吗?另外,jQuery.parseJSON从3.0版开始就不推荐使用。您想要什么样的输出?Jignesh M.Khatri它似乎不起作用。aloisdg我正在尝试获取标签名称和概率值…您可以尝试类似的
console.log(json.result['prediction'][0].label)吗?你能澄清你的问题吗?另外,jQuery.parseJSON从3.0版开始就不推荐使用。您想要什么样的输出?Jignesh M.Khatri它似乎无法正常工作。ALOISG我正在尝试获取标签名称和概率值。。。