我是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).')';
}
然后使用它。