JavaScript(またはjQuery)を使用してオブジェクトを説明する文字列をJSON文字列に変換するにはどうすればよいですか?
例:これを変換します(有効なJSON文字列ではありません):
var str = "{ hello: 'world', places: ['Africa', 'America', 'Asia', 'Australia'] }"
これに:
str = '{ "hello": "world", "places": ["Africa", "America", "Asia", "Australia"] }'
eval()
できれば使用を避けたいです。
data
ように-attrubuteに格納されます。HTMLで<div data-object="{hello:'world'}"></div>
一重引用符を使用したくないので(おそらく信頼されないでしょう)
<div data-object='{"hello":"world"}'></div>
100%有効なHTMLです(単一引用符はそれを信頼するかどうかに関係していますか?)。このようにするJSON.parse
と、それだけで問題なく動作します。 注:キーも引用符で囲む必要があります。
<div data-object="{\"hello\":\"world\"}"></div>
。属性で有効なJSONを使用したくない場合は、独自の形式を作成して自分で解析する必要があります。