window.onload = function(){
var obj = '{
"name" : "Raj",
"age" : 32,
"married" : false
}';
var val = eval('(' + obj + ')');
alert( "name : " + val.name + "\n" +
"age : " + val.age + "\n" +
"married : " + val.married );
}
W kodzie podobnym do tego próbuję utworzyć ciąg JSON tylko po to, aby się bawić. To rzuca błąd, ale jeśli umieszczę całe imię i nazwisko, wiek, żonaty w jednym wierszu (wiersz 2), nie ma. Jaki jest problem?
javascript
json
indianwebdevil
źródło
źródło
Odpowiedzi:
JavaScript nie obsługuje ciągów znaków w wielu wierszach.
Będziesz musiał połączyć te:
Możesz także użyć literałów szablonów w ES6 i nowszych: ( Zobacz tutaj dokumentację )
źródło
Sposób, w jaki to robię, to:
Myślę, że w ten sposób można zmniejszyć szanse na błędy.
źródło
Funkcja JSON.stringify zamieni twój obiekt json w łańcuch:
Jeśli przeglądarka tego nie implementuje (IE6 / IE7), użyj skryptu JSON2.js . Jest bezpieczny, ponieważ używa natywnej implementacji, jeśli istnieje.
źródło
To może być całkiem łatwe i proste
źródło
Zastosowanie
JSON.stringify
:źródło
Myślę, że ten sposób ci pomoże ...
źródło
JSON nie może zawierać znaków końca linii. Trzeba aby to wszystko jedną linię:
{"key":"val","key2":"val2",etc....}
.Ale nie generuj samodzielnie ciągów JSON. Jest wiele bibliotek, które robią to za Ciebie, z których największą jest jquery .
źródło