Javascript将PHP Json转换为javascript数组

Mig*_*l P 7 javascript php json

嗨伙计们,

让我们说清楚.在php中我使用了json_encode(...)然后在javascript中得到了值,看起来如下:

["float","float","float","float"]  // PS: This is a string...
Run Code Online (Sandbox Code Playgroud)

我想把它变成一个普通的javascript数组,如下所示:

Arr[0] // Will be float
Arr[1] // Will be float
Arr[2] // Will be float
Arr[3] // Will be float
Run Code Online (Sandbox Code Playgroud)

现在我问你,这怎么可能?

谢谢

Amb*_*ber 20

听起来你在JavaScript中检索JSON字符串(也许是通过AJAX?).如果你需要将它变成一个实际的数组值,你可能想要使用它JSON.parse().

var retrievedJSON = '["float","float","float","float"]'; // normally from AJAX
var myArray = JSON.parse(retrievedJSON);
Run Code Online (Sandbox Code Playgroud)

如果你实际上是在页面中写出一个值,而不是使用AJAX,那么你应该能够简单地直接回显输出json_encode,而不用引用; JSON本身就是有效的JavaScript.

var myArray = <?php echo json_encode($myPhpArray); ?>;
Run Code Online (Sandbox Code Playgroud)


Bra*_*tie 7

var myArray = <?= json_encode($myPhpArray); ?>;
Run Code Online (Sandbox Code Playgroud)

很简单.;-)

例:

<?php
  $myPhpArray = array('foo', 'bar', 'baz');
?>
<script type="text/javascript">
  var myJsArray = <?= json_encode($myPhpArray); ?>;
</script>
Run Code Online (Sandbox Code Playgroud)

应输出(view-source):

<script type="javascript">
  var myJsArray = ["foo","bar","baz"];
</script>
Run Code Online (Sandbox Code Playgroud)