格式化JSON字符串

时间:2019-04-24 10:05:31

标签: javascript json

我有这个JSON格式的字符串:

"message": "<?= __('I agree to the <a>Terms of Service</a>', $block->getUrl('terms-conditions')) ?>"

我想做的就是添加一个指向这种形式的字符串的链接

 "message": "<?= __('I agree to the <a href="%1">Terms of Service</a>', $block->getUrl('terms-conditions')) ?>"

但是当我这样做时,出现以下错误:

SyntaxError: Unexpected token h in JSON

如何以正确的方式将链接添加到标签?

2 个答案:

答案 0 :(得分:3)

您必须将字符串中的双引号转义,例如:

 "message": "<?= __('I agree to the <a href=\"%1\">Terms of Service</a>', $block->getUrl('terms-conditions')) ?>"

答案 1 :(得分:2)

如果有任何字符串,最好将其转换为json,该函数将处理所有需要转义的字符。

在php中,它看起来可能像这样:

"message": <?= json_encode(__('I agree to the <a>Terms of Service</a>', $block->getUrl('terms-conditions'))) ?>

每种语言都应具有类似的json编码功能,只需在Google中搜索您的语言即可。