我的项目中有像可拖动树这样的要求。 我已成功将mssql结果集转换为json。
但最终用户再次拖放并完全改变了树结构。 现在我从客户端获得了以下json。
[
{
"id": 1,
"title": "1. dragon-breath",
"items": [
{
"id": 10,
"title": "1. dragon-breath.1",
"items": [
{
"id": 100,
"title": "1. dragon-breath.1.2",
"items": [
{
"id": 1000,
"title": "1. dragon-breath.1.2.3",
"items": [],
"pos": 3
}
],
"pos": 2
},
{
"id": 101,
"title": "1. dragon-breath.1.2",
"items": [],
"pos": 2
}
],
"pos": 1
}
],
"pos": 1
},
{
"id": 102,
"title": "1. dragon-breath.1.2",
"items": [
{
"id": 1020,
"title": "1. dragon-breath.1.2.1",
"items": [],
"pos": 1
}
],
"pos": 2
},
{
"id": 1021,
"title": "1. dragon-breath.1.2.1",
"items": [],
"pos": 1
}
]
从上面的json“pos”属性是MSSQL Hierarchyid值。
当我从客户端发回这个json时,我正在尝试重新生成每个元素的层次结构ID。
我要求你们帮助我。 (花2天没运气)
答案 0 :(得分:0)
在您发布到另一个SO问题的链接,然后是评论的链接之后,我看到您正在使用MSSQL hierarchyid
数据类型(提示:如果您对此更清楚一点,它可能会有所帮助在你的问题;)
从在线帮助中我看到有一个Parse函数,它带有一个字符串。
因此,您需要遍历JSON树结构,例如为/1/1/3/
形式的每个元素构建字符串,并将这些字符串与关联的节点id
一起传递回数据库。