1

鉴于此 json 响应:

[
    {
        "diccioDatosForm": {
            "errorMessage": "Verifique los datos invalidos ingresados...",
            "encargadoLocalidad": "Ingrese un valor",
            "responseStatus": "ERR",
            "segundoNombre": "OK",
            "encargadoProvincia": "Ingrese un valor"
        }
    },
    {
        "listaEncargados": []
    }
]

我需要访问键“diccioDatosForm”的元素。当我打印带有警报 ( alert(responseData)) 的 json 时,我得到:

[object Object],[object Object]

尝试这样做时我什么也没得到:

alert(responseData.diccioDatosForm.errorMessage)
4

4 回答 4

5

像这样:

responseData[0].diccioDatosForm.errorMessage

responseData本身是一个包含 2 个元素的数组

于 2012-07-18T02:50:42.540 回答
2

您的responseData对象是一个包含对象的数组。因此,在引用内部对象时必须使用索引。

responseData[0].diccioDatosForm.errorMessage
于 2012-07-18T02:51:17.437 回答
1

这是因为您正在提醒正在返回的数组。要访问您想要的字段,您应该执行以下操作:

responseData[0].diccioDatosForm.diccioDatosForm

我知道我要说的不是您问题的一部分,但我建议您查看您的 JSON 结构,因为拥有两个不同事物的数组很奇怪。

我会使用这样的东西:

{
    "configs": {
        "segundoNombre": "OK",
        "encargadoProvincia": "Ingrese un valor",
        "encargadoLocalidad": "Ingrese un valor"
    },
    "error": {
        "message": "Verifique los datos invalidos ingresados..."
    },
    "itens": []   // "encargados" list here
}

这样做你将有标准通过你的应用程序使用。要访问消息错误,您可以执行以下操作:

responseData.error.message
于 2012-07-18T02:50:51.373 回答
1

看起来您正在尝试查找对象中的参数值,该对象是 JSON 中数组的第一个元素。在纯 Javascript 中,这意味着:

var data = [{"diccioDatosForm": {"errorMessage": /* ... */]

// grab diccioDatosForm from first array element:
var diccioDatosForm = data[0].diccioDatosForm;
于 2012-07-18T02:50:52.013 回答