我有一个json对象。
$ json = json_decode($ data,true);
看起来像-
array(5) { ["screenShareCode"]=> string(9) "021113322" ["appletHtml"]=> string(668) "" ["presenterParams"]=> string(396) "aUsEN5gBYi4vlIEGpk0=" ["viewerUrl"]=> string(65) "http://api.leap.com/v2/viewer/021113322?accountid=mynet" ["origin"]=> string(3) "API" }
{{1}}
当我尝试将此内容分配到javascript变量时,它会给出一个错误“ unterminated string constant ”。
答案 0 :(得分:0)
您不能在PHP 或 JavaScript中解码它。 JSON字符串的内容是有效的JavaScript文字。
<?php
...
?>
<script ...>
var data=<?php echo $data; ?>;
alert(data["screenShareCode"]);
<?php
...
答案 1 :(得分:0)
尝试:
alert(<?php echo json_encode($json); ?>);
或:
alert(<?php echo $data; ?>);
你对术语有点困惑。 $data
是一个JSON字符串,$json
是通过解码JSON字符串获得的PHP数组。
答案 2 :(得分:0)
尝试以下代码。我创建了一个名为sample.php的php文件。我们有一个名为$ data的php数组。使用json_endode()
将数据编码到json中。这导致json格式化数据。然后我们可以将它分配到像var jsonData = <?php echo $jsonData ?>;
这样的java脚本变量中。请注意,这是在<script>
标记内完成的。
<?php
// We have some data
$data = array(
"screenShareCode"=>"021113322",
"appletHtml"=>"",
"presenterParams"=>"aUsEN5gBYi4vlIEGpk0",
"viewerUrl"=>"http://api.screenleap.com/v2/viewer/021113322?accountid=mynet",
"origin"=>"API"
);
// Convert it into json format.
$jsonData = json_encode($data,true);
?>
<script>
// Assign that json data to a java-script variable
var jsonData = <?php echo $jsonData ?>;
// To view the full data
console.log(jsonData);
// You can take a specific data like this.
alert(jsonData.presenterParams);
</script>