将数据解析为嵌套的JSON
本文关键字:嵌套 JSON 数据 | 更新日期: 2023-09-27 18:00:15
我想创建嵌套的JSON。我从sql表中获取数据。表中的数据格式:
+---------------------+---------+
| Domain | Action |
+---------------------+---------+
| Keyword | New |
| Keyword | Edit |
| Keyword | Delete |
| Keyword.Case | New |
| Keyword.Case | Edit |
| Keyword.Case | Delete |
| Keyword.Case.Action | New |
| Keyword.Case.Action | Edit |
| Keyword.Case.Action | Delete |
| User | New |
| User | Edit |
| User | Delete |
+---------------------+---------+
我已经使用linq查询从sql表中检索了数据。现在我想解析它,得到下面提到的层次结构。我认为数据应该采用以下格式:
[
{
"Domain": "Keyword",
"Actions": ["New", "Edit", "Delete"],
"Nodes": [
{
"Domain": "Keyword.Case",
"Actions": ["New", "Edit", "Delete"],
"Nodes": [
{
"Domain": "Keyword.Case.Action",
"Actions": ["New", "Edit", "Delete"],
"Nodes": []
}
]
}
],
{
"Domain": "User",
"Actions": ["New", "Edit", "Delete"],
"Nodes": []
}
]
点(.)表示它是子节点。例如keyword.case.action;在本例中,Keyword是Case的父级,Case是Action的父级表示Action是Case的子级,Case是关键字的子级。我想要这样的东西:
- 关键字
- 编辑
- 删除
- 新建
- 关键字。案例
- 编辑
- 删除
- 新建
- 关键字。案例行动
- 编辑
- 删除
- 新建
- 用户
- 编辑
- 删除
- 新建
有人能帮忙吗?提前感谢
当您使用LinQ检索SQL数据时,您应该有一个IEnumerable结果。你可以直接序列化:
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
string jsonOutput = serializer.Serialize(dbResult);
其中dbResult
是在LinQ操作之后检索的结果