To jest JSON wrócił
var errorsObject = JSON.parse("{ "fieldErrors": {"name":["You must enter your name1"],"name":["You must enter your name2"],"age":["Only people ages 13 to 19 may take this quiz"]}}");
Poniżej kodu pierwsza pętla działa dobrze, gdy otrzymuję nazwę klucza jak imię, wiek itp. W drugiej pętli chcemy uzyskać wartości klucza wybranego z zewnętrznej pętli. Issue is errors.fieldErrors[key]
. Najpierw muszę zapętlić tylko klucz o nazwie i uzyskać 2 wartości.
$.each(errors.fieldErrors, function(key, val) {
alert("key->" + key); //Fine
$.each(errors.fieldErrors[key], function(index, val) {
alert("key->" + key + ", val->" + val);
});
});
Odpowiedzi:
6 dla odpowiedzi № 1Obiekt nie może dwa razy zawierać tego samego klucza, więc to, co próbujesz zrobić, jest niemożliwe. Pierwsza wiadomość jest tracona podczas analizowania JSON.
Jednak twoje wartości to tablice - dlaczego nie zmieniaćkod zwracający JSON do właściwego wykorzystania tych tablic? I zakładając, że jest to stworzone przez kod PHP, fakt, że możesz stworzyć takie zapachy JSON, jak ktoś używający funkcji łańcuchowych do utworzenia go zamiast json_encode
- kolejna rzecz, która powinna zostać zmieniona ...