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

私が言うことはあなたの質問の一部ではないことを私は知っていますが、2つの異なるものの配列を持つのは奇妙なので、JSON構造を確認することをお勧めします。

私はこのようなものを使用します:

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

これを行うと、youtアプリケーションを介して使用する標準があります。メッセージエラーにアクセスするには、次のようにします。

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 に答える