Як я можу перетворити рядок, що описує об'єкт, у рядок JSON за допомогою JavaScript (або jQuery)?
наприклад: Перетворити це ( НЕ допустимий рядок 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 в атрибуті, вам доведеться створити власний формат і проаналізувати його самостійно.