0

我有一个 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"
}


    alert('?php echo $json; ?>');

当我试图将其分配给 javascript 变量时,它给了我一个错误,说“未终止的字符串常量”。

4

3 回答 3

0

试试下面的代码。我创建了一个名为 sample.php 的 php 文件。我们有一个名为 $data 的 php 数组。使用 . 将该数据编码为 json json_endode()。这会产生 json 格式的数据。然后我们可以将它分配给一个 java 脚本变量,如 var jsonData = <?php echo $jsonData ?>;注意,这是在<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>
于 2013-11-12T08:11:22.453 回答
0

您无需使用 PHPJavaScript 对其进行解码。JSON 字符串的内容是有效的 JavaScript 文字。

<?php
 ...
?>
<script ...>
var data=<?php echo $data; ?>;
alert(data["screenShareCode"]);
<?php
 ...
于 2013-11-12T07:51:50.887 回答
0

尝试:

alert(<?php echo json_encode($json); ?>);

或者:

alert(<?php echo $data; ?>);

你对术语有点困惑。$data是 JSON 字符串,$json是您通过解码 JSON 字符串获得的 PHP 数组。

于 2013-11-12T07:52:02.607 回答