Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.10.2018, 15:21
Профессор
Отправить личное сообщение для s24344 Посмотреть профиль Найти все сообщения от s24344
 
Регистрация: 12.08.2015
Сообщений: 206

Как правильно устанавливать одинарные кавычки в 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>
Ответить с цитированием
  #2 (permalink)  
Старый 15.10.2018, 15:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

s24344,
заменить на
&#39;
Ответить с цитированием
  #3 (permalink)  
Старый 15.10.2018, 15:42
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

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);
Ответить с цитированием
  #4 (permalink)  
Старый 15.10.2018, 15:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Dilettante_Pro,
в html с наклонной чертой не получится наверное ... ?
Ответить с цитированием
  #5 (permalink)  
Старый 15.10.2018, 15:49
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от рони
в html с наклонной чертой не получится наверное
Ага
Ответить с цитированием
  #6 (permalink)  
Старый 15.10.2018, 15:50
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Ё-кавычка получается
<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>
Ответить с цитированием
  #7 (permalink)  
Старый 15.10.2018, 15:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

<!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&#39;s most memorable playoff"}'></div>

</body>
<script>
    var data = document.querySelector(".data").dataset.dcNewsFeedPreviewOptions;
    data = JSON.parse(data);
    alert(data.content);
</script>
</html>
Ответить с цитированием
  #8 (permalink)  
Старый 15.10.2018, 16:05
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Вот такой финт ушами
<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>


Последний раз редактировалось Dilettante_Pro, 15.10.2018 в 18:32.
Ответить с цитированием
  #9 (permalink)  
Старый 15.10.2018, 17:13
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Либо заменять на html сущности как пишет рони, либо url кодирование json строки.
Ответить с цитированием
  #10 (permalink)  
Старый 16.10.2018, 09:44
Профессор
Отправить личное сообщение для s24344 Посмотреть профиль Найти все сообщения от s24344
 
Регистрация: 12.08.2015
Сообщений: 206

Всем спасибо за помощь.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно настроить очерёдность выполнения функций? Altai Общие вопросы Javascript 8 01.02.2017 19:32
Ext.data.Store: Как правильно отключить сортировку при группировке? khusamov ExtJS 0 20.05.2016 17:23
Json и как его правильно кушать (Help plz!) JohnyVoo Angular.js 2 04.05.2016 19:55
Как правильно прицепить обработку события slowklg Events/DOM/Window 6 15.03.2012 16:20
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20