将 tree 类型的json数据转化为table
怎么将 一个tree类型的 json数据转化为 table
------解决方案-------------------- 给楼主提供思路,供参考,需要写一个递归
使用Newtonsoft.Json.dll,网上自己找吧
JArray json = JArray.Parse(jsonStr);
foreach (var item in json)
{
JObject j = JObject.Parse(json[1].ToString());
j["name"].ToString();
j["columns"].ToString();
JArray json2= JArray.Parse(j["columns"].ToString());
foreach (var item2 in json)
{
//递归
//j["columns"]==null 说明没有子节点了
}
j["parentId"].ToString();
}
如果json只有一层的话,用(DataTable)JsonConvert.DeserializeObject<DataTable>(jsonStr) 就搞定了,多层你就要自己写了
这里name,columns,parentId都取出来了,转Table 、xml就随便了
------解决方案--------------------<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script type="text/javascript">
var date=[{"name":"剑侠世界","columns":[{"name":"新闻中心","columns":[{"name":"新闻","parentId":2},{"name":"公告","parentId":2}],"parentId":1},{"name":"玩家文选","columns":[{"name":"门派攻略","parentId":2},{"name":"玩家心情","parentId":2}],"parentId":1},{"name":"游戏资料","columns":[{"name":"游戏资料0","parentId":2},{"name":"游戏资料1","parentId":2}],"parentId":1}],"parentId":0},{"name":"剑侠世界1","columns":[{"name":"新闻中心1","columns":[{"name":"新闻1"},{"name":"公告1"}]},{"name":"玩家文选1","columns":[{"name":"门派攻略1"},{"name":"玩家心情1"}]},{"name":"游戏资料1","columns":[{"name":"游戏资料01"},{"name":"游戏资料01"}]}],"parentId":0}];
$(function(){
digui(date);
})
function digui(json){
$(json).each(function(k,v){
$("<tr><td>"+v.name+"</td><td>"+v.parentId+"</td></tr>").appendTo("#table");
if(v.columns!=null)
digui(v.columns);
});
}