Bir nesneyi açıklayan bir dizeyi JavaScript (veya jQuery) kullanarak bir JSON dizesine nasıl dönüştürebilirim?
örneğin: Bunu dönüştür ( geçerli bir JSON dizesi DEĞİL ):
var str = "{ hello: 'world', places: ['Africa', 'America', 'Asia', 'Australia'] }"
bunun içine:
str = '{ "hello": "world", "places": ["Africa", "America", "Asia", "Australia"] }'
eval()
Mümkünse kullanmaktan kaçınmak isterim .
data
-attrubute içinde saklanır : <div data-object="{hello:'world'}"></div>
ve HTML'de tek tırnak kullanmak istemiyorum (bu yüzden muhtemelen güvenilmez)
<div data-object='{"hello":"world"}'></div>
% 100 geçerli HTML'dir (tek tırnakların ona güvenmekle ne ilgisi vardır?). Bu şekilde yaparsanız, sadece yapabilirsiniz JSON.parse
ve iyi çalışır. Not: anahtarların da alıntılanması gerekir.
<div data-object="{\"hello\":\"world\"}"></div>
. Özellikte geçerli JSON kullanmak istemiyorsanız, kendi biçiminizi oluşturmanız ve kendiniz ayrıştırmanız gerekir.