我正在尝试通过json实现http://mbraak.github.com/jqTree/。
这是我在<head>中调用的函数
jQuery(document).ready(function(){
$.getJSON('../controller/das/dus.php',
function(data) {
$('#tree1').tree({
data:data
});
});
});我的php文件:
<?php session_start();
header('Content-type: application/json');
require_once '../../model/getdata.php';
$sql = 'SELECT * FROM slode';
$stmt = getaccessdata::getInstance()->prepare($sql);
$stmt->execute();
$array = $stmt->fetchAll( PDO::FETCH_ASSOC );
$json = json_encode( $array );
echo $json ;
?> 下面是我插入的javascript文件:
<!-- jquery -->
<link rel="stylesheet" href="style/jquery/jquery-ui-1.8.14.custom.css" />
<script type="text/javascript" src="js/jquery/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="js/jquery/jquery-ui-1.8.16.custom.min.js"></script>
<!-- jqTree -->
<script type="text/javascript" src="js/jqtree/tree.jquery.js"></script>
<link rel="stylesheet" href="style/jqtree/jqtree.css" />这是json数据:
[{"id":"1","stand":"Civ","cat":"cat1","stand":"100","savedate":"2011-03-29 18:53:47","cap":"150"},{"id":"2","stand":"asdasd","cat":"cat2","stand":"120","savedate":"2011-03-29 18:53:47","cap":"150"},{"id":"3","stand":"asdasd","cat":"cat3","stand":"80","savedate":"2011-03-29 18:53:47","cap":"250"},{"id":"4","stand":"asdasd","cat":"cat4","stand":"300","savedate":"2011-03-29 18:53:47","cap":"350"},{"id":"5","stand":"asdasd","cat":"cat5","stand":"450","savedate":"2011-03-29 18:53:47","cap":"450"},{"id":"6","stand":"asdasd","cat":"cat6","stand":"40","savedate":"2011-03-29 18:53:47","cap":"550"}] 我真的不知道我做错了什么。它总是显示"undefined“数据应该在哪里。
我不知道如何实现树结构,以及它在jqtree中是如何显示的。(jqtree中的json parse?)
期望的结果:如果"stand“在不同的json数据中是相同的,它应该创建一个新的标签,并且应该使用猫作为孩子:
-Civ (=label)
--cat1 (=children)
-asdasd (=label)
--cat2 (=children)
--cat3 (=children)
--cat4 (=children)
--cat5 (=children)
--cat6 (=children)如何将json数据转换为此结构:
var data = [
{
label: 'node1',
children: [
{ label: 'child1' },
{ label: 'child2' }
]
},
{
label: 'node2',
children: [
{ label: 'child3' }
]
}
];发布于 2011-11-18 04:53:26
JSON的格式应为:
var data = [
{
label: 'node1',
children: [
{ label: 'child1' },
{ label: 'child2' }
]
},
{
label: 'node2',
children: [
{ label: 'child3' }
]
}
];这意味着您的数组中应该有标签和子项,您也可以放入其他内容,但这些都是必须的
发布于 2011-10-06 23:10:40
原因是,您应该像这样以正确的格式返回json
{
"0": {
"id": "1",
"stand": "100",
"cat": "cat1",
"savedate": "2011-03-29 18:53:47",
"cap": "150"
},
"1": {
"id": "2",
"stand": "120",
"cat": "cat2",
"savedate": "2011-03-29 18:53:47",
"cap": "150"
},
"2": {
"id": "3",
"stand": "80",
"cat": "cat3",
"savedate": "2011-03-29 18:53:47",
"cap": "250"
},
"3": {
"id": "4",
"stand": "300",
"cat": "cat4",
"savedate": "2011-03-29 18:53:47",
"cap": "350"
},
"4": {
"id": "5",
"stand": "450",
"cat": "cat5",
"savedate": "2011-03-29 18:53:47",
"cap": "450"
},
"5": {
"id": "6",
"stand": "40",
"cat": "cat6",
"savedate": "2011-03-29 18:53:47",
"cap": "550"
}
}将key:value对赋给你的json
您可以在http://jsonlint.com/中验证您的json文件
https://stackoverflow.com/questions/7676100
复制相似问题