Mam taki obiekt, który wraca jako odpowiedź JSON z serwera:
{"0":"1","1":"2","2":"3","3":"4"}
Chcę przekonwertować go na tablicę JavaScript, taką jak ta:
["1","2","3","4"]
Czy jest na to najlepszy sposób? Gdziekolwiek czytam, ludzie używają złożonej logiki za pomocą pętli. Czy są więc alternatywne metody, aby to zrobić?
javascript
jquery
arrays
json
javascript-objects
Nikhil Agrawal
źródło
źródło
Odpowiedzi:
W rzeczywistości jest to bardzo proste w przypadku jQuery
$.map
SKRZYPCE
i prawie tak łatwo bez jQuery, konwertowanie kluczy do tablicy, a następnie odwzorowywanie wartości za pomocą
Array.map
SKRZYPCE
To przy założeniu, że jest już przeanalizowany jako obiekt javascript i nie jest w rzeczywistości JSON, który jest formatem ciągów znaków, w takim przypadku
JSON.parse
konieczne byłoby również uruchomienie .W ES2015 jest
Object.values
na ratunek, co sprawia, że jest to pestkaźródło
Mam nadzieję, że właśnie tego szukasz!
źródło
Po prostu robisz to jak
PRÓBNY
źródło
Nie ma to jak „obiekt JSON” - JSON to notacja serializacji.
Jeśli chcesz zmienić swój obiekt JavaScript do tablicy javascript , albo napisać własną pętlę [co nie byłoby to skomplikowane!], Lub polegać na underscore.js
_.toArray()
metody:źródło
Nie ma tu nic trudnego. Zapętlaj elementy obiektu i przypisz je do tablicy
http://jsfiddle.net/Qq2aM/
źródło
PRÓBNY
źródło
Spróbuj tego:
źródło
Kolejna alternatywa dla pytania
źródło
Używając surowego javascript, załóżmy, że masz:
Możesz uzyskać wartości za pomocą:
Wynik:
źródło
Nie jestem pewien, czego tu brakuje, ale po prostu wypróbowanie poniższego kodu działa. Czy coś mi tu brakuje?
https://jsfiddle.net/vatsalpande/w3ew5bhq/
źródło
Zakładając, że masz wartość taką jak poniżej
Następnie możesz przekształcić to w tablicę javascript za pomocą następującego
Działa to również w przypadku konwersji json do wielowymiarowych tablic javascript.
Żadna z innych metod na tej stronie nie wydawała się działać całkowicie dla mnie podczas pracy z ciągami znaków zakodowanymi w php json, z wyjątkiem metody, o której tutaj wspominam.
źródło
Oto przykład, w jaki sposób można uzyskać tablicę obiektów, a następnie posortować tablicę.
źródło
To najlepsze rozwiązanie. Chyba tak.
źródło
źródło
Możesz przekonwertować obiekt json na Array & String za pomocą PHP.
źródło
Możesz użyć
Object.assign()
z pustym literałem tablicy[]
jakotarget
:Jeśli zaznaczysz wypełnienie ,
Object.assign(target, ...sources)
po prostu skopiuje wszystkie wyliczalne własne właściwości zsource
obiektów do obiektu docelowego. Jeślitarget
jest tablicą, doda klucze numeryczne do literału tablicy i zwróci tentarget
obiekt tablicy.źródło