Как правильно устанавливать одинарные кавычки в data отрибуте?
Здравствуйте. Подскажите, пожалуйста, как правильно устанавливать одинарные кавычки в data отрибуте. В таком виде я получаю следующую ошибку:
SyntaxError: Unexpected end of JSON input В дальнейшем я планирую сделать следующие действия: let data = JSON.stringify(json); data = JSON.parse(data).cards;
<div
class="data"
style="display: none;"
data-dc-news-feed-preview-options='{"cards": "latest from the open", "content": "Watson vs Nicklaus in Golf's most memorable playoff"}'
></div>
|
s24344,
заменить на ' |
var data='{"cards": "latest from the open", "content": "Watson vs Nicklaus in Golf\'s most memorable playoff"}';
var j = JSON.parse(data);
alert(j.content);
|
Dilettante_Pro,
в html с наклонной чертой не получится наверное ... ? :-? |
Цитата:
|
Ё-кавычка получается
<div
class="data"
style="display: none;"
data-dc-news-feed-preview-options='{"cards": "latest from the open", "content": "Watson vs Nicklaus in Golf`s most memorable playoff"}'
></div>
<script>
var data= document.querySelector('.data').getAttribute('data-dc-news-feed-preview-options');
var j = JSON.parse(data);
alert(j.content);
</script>
|
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<div
class="data"
style="display: none;"
data-dc-news-feed-preview-options='{"cards": "latest from the open", "content": "Watson vs Nicklaus in Golf's most memorable playoff"}'></div>
</body>
<script>
var data = document.querySelector(".data").dataset.dcNewsFeedPreviewOptions;
data = JSON.parse(data);
alert(data.content);
</script>
</html>
|
Вот такой финт ушами
<div
class="data"
style="display: none;"
data-dc-news-feed-preview-options="{'cards': 'latest from the open', 'content': 'Watson vs Nicklaus in Golf\'s most memorable playoff'}"
></div>
<script>
var data= document.querySelector('.data').getAttribute('data-dc-news-feed-preview-options');
data=data.replace(/.'/gi,function(str) {
return str[0] == "\\" ? str[1] : str[0] + '"';
});
var j = JSON.parse(data);
alert(j.content);
</script>
:write: |
Либо заменять на html сущности как пишет рони, либо url кодирование json строки.
|
Всем спасибо за помощь.
|
| Часовой пояс GMT +3, время: 00:47. |