添加变量到json中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了添加变量到json中相关的知识,希望对你有一定的参考价值。
所以这里有很多关于这方面的问题,我试了不少都没有成功。
我是想把一个php变量添加到javascript变量中,然后放到json中。
<?php $symbol_json = $row['symbol_json']; echo $symbol_json; ?> <!--This is OK!-->
</div>
</center>
<center>
<!-- Widget BEGIN -->
<div class="widget-container">
<div class="widget-container__widget"></div>
<div class="widget-copyright"><a href="https://aaaaaaa.com/symbols/<?php echo $row['symbol_html']; ?>/" rel="noopener" target="_blank"><span class="blue-text"><?php echo $row['symbol']?> Symbol Info</span></a></div>
<script>
var myVar = '<?php echo $symbol_json ?>'; alert(myVar); //This works ok!
var myObject = JSON.parse('<?php echo json_encode($symbol_json) ?>'); alert(myObject); //Alert works ok!
</script>
<script type="text/javascript" src="https://aaaaaaa.com/external-embedding/symbol-info.js" async>
//"symbol": "SDT", //This how it is at present and it works. I need to change it to a variable like below.
"symbol": myObject, //Whether I use myObject or myVar (which both contain SDT) the widget loads a different symbol.
"width": 1000,
"locale": "uk",
"colorTheme": "light",
"isTransparent": false
</script>
</div>
<!-- Widget END -->
答案
为什么不把变量放到同一个脚本标签里?作为一个一般性的建议,请,请,请不要把PHP和Javascript或HTML混在一起。这是让你的代码变味的最好方法。 你必须解析你的JSON才能将它作为一个变量使用,因此
var myObject = '<?php echo json_encode($symbol_json) ?>';
成为
var myObject = JSON.parse('<?php echo json_encode($symbol_json) ?>');
另一答案
我意识到我可以简单地添加。"symbol": "<?php echo $symbol_json ?>",
虽然把PHP放到JS变量中在另一个实例中也能用,但在这里似乎也能用。控制台错误。SyntaxError.Unexpected token m in JSON Unexpected token m in JSON -- 基本上是说m(是myObject的第一个字母),因此myObject没有被当作一个变量。
以上是关于添加变量到json中的主要内容,如果未能解决你的问题,请参考以下文章