动态地将存储在php中的数据添加到嵌套的json中
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了动态地将存储在php中的数据添加到嵌套的json中,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2175字,纯文字阅读大概需要4分钟。
内容图文
![动态地将存储在php中的数据添加到嵌套的json中](/upload/InfoBanner/zyjiaocheng/792/e34e558270b5463b8bef29609c582559.jpg)
我正在尝试动态地在json中为jQuery甘特图生成数据.我知道PHP,但我完全使用JavaScript.我已经阅读了十几个关于如何动态地向json添加数据的解决方案,并尝试了几十种组合而没有任何东西.这是json格式:
var data = [{
name: "Sprint 0",
desc: "Analysis",
values: [{
from: "/Date(1320192000000)/",
to: "/Date(1322401600000)/",
label: "Requirement Gathering",
customClass: "ganttRed"
}]
},{
name: " ",
desc: "Scoping",
values: [{
from: "/Date(1322611200000)/",
to: "/Date(1323302400000)/",
label: "Scoping",
customClass: "ganttRed"
}]
}, <!-- Somoe more data-->
}];
现在我有php db结果中的所有数据.在这里:
$rows=$db->fetchAllRows($result);
$rowsNum=count($rows);
这就是我想要创建json的方式:
var data='';
<?php foreach ($rows as $row){ ?>
data['name']="<?php echo $row['name'];?>";
data['desc']="<?php echo $row['desc'];?>";
data['values'] = {"from" : "/Date(<?php echo $row['from'];?>)/", "to" : "/Date(<?php echo $row['to'];?>)/", "label" : "<?php echo $row['label'];?>", "customClass" : "ganttOrange"};
}
但是这不起作用.我试过没有循环并用纯文本替换php变量只是为了检查,但它也没有用.显示没有添加项目的图表.如果我通过将新项目添加到值列表来添加新项目,则它可以正常工作.因此,甘特本身或路径没有问题.基于以上所有,我假设问题是向json添加普通数据.有人可以帮我解决一下吗?
解决方法:
首先,您要将属性添加到字符串而不是构建对象.如果你真的想这样做:
var data = [], row;
<?php foreach ($rows as $row) : ?>
row = {};
row.name ="<?php echo $row['name'];?>";
row.desc ="<?php echo $row['desc'];?>";
row.values = {"from" : "/Date(<?php echo $row['from'];?>)/", "to" : "/Date(<?php echo $row['to'];?>)/", "label" : "<?php echo $row['label'];?>", "customClass" : "ganttOrange"};
data.push(row);
<?php endforeach; ?>
无论如何它是不安全的(结果是正常的JS代码,不是正确的JSON对象 – 但是当你将它分配给变量时,我认为它不必是严格的JSON格式)
更好的方法是在PHP中构建数据结构并使用json_encode函数为JavaScript生成JSON数据:
<?php
$data = array();
foreach ($rows as $row) {
$data[] = array(
'name' => $row['name'],
'desc' => $row['desc'],
'values' => array(array(
'from' => '/Date('.$row['from'].'>)/',
'to' => '/Date('.$row['to'].')/',
'label' => $row['label'],
'customClass' => 'ganttOrange',
))
);
}
?>
var data = <?php echo json_encode($data); ?>;
内容总结
以上是互联网集市为您收集整理的动态地将存储在php中的数据添加到嵌套的json中全部内容,希望文章能够帮你解决动态地将存储在php中的数据添加到嵌套的json中所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。