使用 PHP 将 JSON 转换为 JavaScript

Convert JSON with PHP to JavaScript

本文关键字:JavaScript 转换 JSON PHP 使用      更新时间:2023-09-26

我是Stackoverflow的新手。我的问题是将PHP的JSON转换为JavaScript。我获取数据库以使用PHP创建JSON,我想将JSON转换为JavaScript。我想在JavaScript中使用JSON作为对象(object[1].id)。我需要你的帮助。

    <?php
  $connent = new mysqli('localhost','root','lukasz1248','quiz');
  if ($connent->connect_error != 0)
  {
    throw new Exception(mysqli_connect_errno());
  }
  $connent->query('SET NAMES utf8');
  $connent->query('SET CHARACTER_SET utf8_unicode_ci');
  $result = $connent->query("select * from pytania");
  //put all of the resulting names into a PHP array
  $jsonArray = Array();
  //$how = $result->num_rows;
  //$row = $result->fetch_assoc();
  //$row_array = "[";
  while ($row = $result->fetch_assoc()) {
    $row_array['id'] = $row['id'];
    $row_array['tresc'] = $row['tresc'];
    $row_array['odpa'] = $row['odpa'];
    $row_array['odpb'] = $row['odpb'];
    $row_array['odpc'] = $row['odpc'];
    $row_array['odpd'] = $row['odpd'];
    $row_array['answer'] = $row['answer'];
    $row_array['kategoria'] = $row['kategoria'];
    $row_array['rok'] = $row['rok'];
    array_push($jsonArray,$row_array);
  }
  echo $jsonArray = json_encode($jsonArray,JSON_UNESCAPED_UNICODE);
  $connent->close();
?>
    <script type="text/javascript">
  var json_array = json_encode('<?php echo $jsonArray ?>')
  window.onload = write;
  var obj_json = JSON.parse(json_array);
  function write(){
    document.getElementById('db').innerHTML = obj_json.length;
  }
</script>
<div id="db"></div>

我改变了它:

<script type="text/javascript">
  var json_array = '<?php echo $jsonArray ?>';
  window.onload = write;
  var str = " ";
  var obj_json = JSON.parse(json_array);
  function write(){
    document.getElementById('db').innerHTML = obj_json.length;
  }
</script>
<div id="db"></div>

其结果

function write(){
    document.getElementById('db').innerHTML = obj_json.length;
}

最后应该是 20 我的网站 http://158.75.89.214/js/test.php

你正在对它进行两次编码。

第一名

echo $jsonArray = json_encode($jsonArray,JSON_UNESCAPED_UNICODE);
var json_array = json_encode('<?php echo $jsonArray ?>')

把它改成这个

var json_array = <?php echo $jsonArray ?>;

JSON 已经是 Javascript 代码,但我们需要将其输出到 Javascript 中,如下所示

<script type="text/javascript>
    var foo = <?php echo json_encode($bar); ?>;
</script>
将其

包装在括号中也很有用,以确保Javascript理解这是一个对象而不是一个块,例如,无论在哪里使用它。

function getJSON($obj) {
    return '('.json_encode($obj).')';
}

然后使用它。