Não é possível analisar JSON de atributo de dados

Mr. Jo:

Atualmente estou tentando analisar um JSON de um atributo de dados, mas eu estou recebendo um erro:

SyntaxError não capturado: símbolo inesperado em JSON na posição 0

Este é meu código:

jQuery( document ).ready( function ( $ ) {
	let variations = $( "span" ).data( "variations" );

	$( JSON.parse( variations ) ).each( function ( index, variation ) {
		console.log( variation );
	} );
} );
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span data-variations='["\ud83d\udc36","\ud83d\udc31"]'></span>

Eu não obtê-lo. Eu estou imprimindo o JSON em PHP com esta função, mas eu estou preso na minha cabeça aqui:

<span data-variations='<?= esc_html( json_encode( $variations ) ) ?>'></span>
Seblat:

Você está tendo esse problema porque variationsjá tem o valor analisado, como disse no doc :

Quando uma seqüência começa com '{' ou '[', então jQuery.parseJSON é usada para analisá-lo

jQuery( document ).ready( function ( $ ) {
	let variations = $( "span" ).data( "variations" );

	$( variations ).each( function ( index, variation ) {
		console.log( variation );
	} );
} );
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span data-variations='["\ud83d\udc36","\ud83d\udc31"]'></span>

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=302980&siteId=1
Recomendado
Clasificación