如何使用JavaScript(或jQuery)将描述对象的字符串转换为JSON字符串?
例如:转换这个(不是有效的JSON字符串):
var str = "{ hello: 'world', places: ['Africa', 'America', 'Asia', 'Australia'] }"
到这个:
str = '{ "hello": "world", "places": ["Africa", "America", "Asia", "Australia"] }'
eval()
如果可能,我希望避免使用。
data
-attrubute中,如下所示:<div data-object="{hello:'world'}"></div>
而且我不想在HTML中使用单引号(因此可能不值得信任)
<div data-object='{"hello":"world"}'></div>
100%有效的HTML(单引号与信任它有什么关系?)。如果您采用这种方式,就可以JSON.parse
做到,而且效果很好。 注意:键也需要加引号。
<div data-object="{\"hello\":\"world\"}"></div>
。如果您不想在属性中使用有效的JSON,则必须自行设置格式并自行解析。