Jak dodać nowy atrybut (element) do obiektu JSON przy użyciu JavaScript?
javascript
json
niebieskawy
źródło
źródło
a
jest JSON,a.s
jak właśnie zdefiniowany przez Ciebie jest ciągiem. Teraz próbujesz dodać["subproperty"]
do ciągu. Czy rozumiesz teraz, dlaczego wystąpił błąd?object["property"] = value;
JSON.stringify
.console.log
nie jest on przeznaczony do serializacji. Zastosowanieconsole.log(JSON. stringify(object))
.źródło
Obiekt JSON jest po prostu obiektem javascript, więc skoro Javascript jest językiem opartym na prototypach, wystarczy adresować go za pomocą notacji kropkowej.
źródło
dzięki za ten post. Chcę dodać coś, co może być przydatne.
W przypadku IE dobrze jest używać
składnia, ponieważ niektóre słowa specjalne w IE mogą powodować błędy.
Przykład:
to się nie udaje w IE, ponieważ „ klasa ” jest słowem specjalnym. Spędziłem z tym kilka godzin.
źródło
W ECMAScript od 2015 roku możesz używać składni spreadu (… trzy kropki):
Pozwala dodawać obiekty podrzędne:
wynik byłby:
Możesz także łączyć obiekty:
źródło
Możesz także użyć
Object.assign
zECMAScript 2015
. Pozwala także dodawać zagnieżdżone atrybuty jednocześnie. Na przykład:Ps: Nie zastąpi to istniejącego obiektu z przypisanymi atrybutami. Zamiast tego zostaną dodane. Jeśli jednak przypisasz wartość do istniejącego atrybutu, zostanie on zastąpiony.
źródło
Rozszerza wiele obiektów json (ignoruje funkcje):
Wynikiem będzie pojedynczy obiekt Json
źródło
Możesz także dodawać nowe obiekty json do swojego jsona, używając funkcji rozszerzenia ,
Bardzo dobrą opcją dla funkcji rozszerzenia jest scalanie rekurencyjne. Po prostu dodaj prawdziwą wartość jako pierwszy parametr (więcej informacji znajdziesz w dokumentacji). Przykład,
źródło
Możesz także dynamicznie dodawać atrybuty ze zmiennymi bezpośrednio w dosłowności obiektu.
Prowadzi do:
źródło
Korzysta
$.extend()
z jQuery , na przykład:Mam nadzieję, że im służycie.
źródło