Javascript Преобразование PHP Json в массив javascript

Итак, привет, ребята,

давайте сделаем это очень ясно. В php я использовал json_encode (…), а затем получил значение в javascript, выглядит следующим образом:

["float","float","float","float"] // PS: This is a string... 

И я хотел бы сделать это в обычный массив javascript, например:

 Arr[0] // Will be float Arr[1] // Will be float Arr[2] // Will be float Arr[3] // Will be float 

И теперь я спрашиваю вас, как это возможно?

Спасибо

Похоже, вы извлекаете строку JSON в JavaScript (возможно, через AJAX?). Если вам нужно сделать это в фактическое значение массива, вы, вероятно, захотите использовать JSON.parse() .

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

Если вы на самом деле записываете значение на странице, а не используете AJAX, тогда вы должны просто просто эхоиздать вывод json_encode напрямую, без цитирования; JSON сам по себе является JavaScript.

 var myArray = <?php echo json_encode($myPhpArray); ?>; 
 var myArray = <?= json_encode($myPhpArray); ?>; 

Довольно просто. 😉

Пример:

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

Если вывод (просмотр-источник):

 <script type="javascript"> var myJsArray = ["foo","bar","baz"]; </script> 

пример

Я рекомендую использовать jquery. Файл php должен выглядеть как таковой …

 //location.php <?php $change = array('key1' => $var1, 'key2' => $var2, 'key3' => $var3); echo json_encode($change); ?> 

Затем скрипт jquery …

 <script> $.get("location.php", function(data){ var duce = jQuery.parseJSON(data); var art1 = duce.key1; var art2 = duce.key2; var art3 = duce.key3; }); </script>