Double Quotes in Single Quotes

240 views Asked by At

I need to put json in an html attribute like so:

<video id="video1" 
class="video-js vjs-default-skin" 
width="640" height="480" 
data-setup='{"controls" : true, "autoplay" : false, "preload" : "auto"}'>

Hamlet does not understand html single quote strings, it creates the error message:

unexpected ":" expecting ">"

What is the recommended practice for adding literal json to html attributes in a string?

2

There are 2 answers

0
Kevin Bowersox On BEST ANSWER

Escape the quotes in html using &quot;

<video id="video1" 
class="video-js vjs-default-skin" 
width="640" height="480" 
data-setup='{ &quot;controls&quot;:true,&quot;autoplay&quot;:false,&quot;preload&quot;: &quot;auto&quot;}'>
0
Jukka K. Korpela On

The attribute syntax used is correct by HTML rules, and the attribute value is correct by JSON syntax, so if some software fails to process it, check its documentation for applicable limitations and/or submit a bug report.

If the issue is really that the software cannot handle HTML attribute specifications when attribute value is single quotes, use double quotes around it and correspondinly single quotes inside it:

data-setup="{'controls' : true, 'autoplay' : false, 'preload' : 'auto'}"