gpt4 book ai didi

c# - 如何在 C# MVC 中生成正确的 JSON 结果

转载 作者:行者123 更新时间:2023-11-30 15:24:21 25 4
gpt4 key购买 nike

我正在用 C# 开发一个 MVC 应用程序,并希望生成像这样的 JSON 结果:

var json = {
id: "1",
name: "Ram | 1",
data: {},
children: [{
id: "2",
name: "Hari | 2",
data: {},
children: [{
id: "Sam3",
name: "2.4",
data: {},
children: []
}, {
id: "4",
name: "Jon | 4",
data: {},
children: [{
id: "5",
name: "Smith | 5",
data: {},
children: [{
id: "6",
name: "Max | 6",
data: {},
children: []
}]
}]
}]
}, {
id: "7",
name: "Himanshu | 7",
data: {},
children: [{
id: "8",
name: "Jack | 8",
data: {},
children: [{
id: "9",
name: "Mad | 9",
data: {},
children: [{
id: "10",
name: "Jacky | 10",
data: {},
children: []
}, {
id: "11",
name: "Anchor | 11",
data: {},
children: []
}]
}, {
id: "12",
name: "Dam | 12",
data: {},
children: [{
id: "13",
name: "Xyz | 13",
data: {},
children: []
}]
}, {
id: "14",
name: "History | 14",
data: {},
children: [{
id: "15",
name: "java | 15",
data: {},
children: []
}, {
id: "16",
name: "Blue | 16",
data: {},
children: []
}, {
id: "17",
name: "Kali | 17",
data: {},
children: []
}, {
id: "18",
name: "lon | 18",
data: {},
children: []
}]
}]
}]
}]
};`

我在 C# 中的 JSON 函数:

[HttpPost]
public JsonResult CalculateTreeView(int sid)
{
/*
Some Code Logic
*/
if (res != null)
if (res.l_id != 0)
return Json(new { id = res.id, name = res.name + " | " + res.id, data = new { }, children = new object[] { CalculateTreeView(res.l_id) } });
else
return Json(new { id = res.id, name = res.name + " | " + res.id, data = new { }, children = new object[] { } });
else
return Json(new { id = res.id, name = res.name + " | " + res.id, data = new { }, children = new object[] { } });
}

我的这个 C# 函数返回奇怪的输出我不知道为什么..

{
"id":1,
"name":"anant | 1",
"data":{},
"children":[{
"ContentEncoding":null,
"ContentType":null,
"Data":{
"id":2,
"name":"Samir | 2",
"data":{},
"children":[{
"ContentEncoding":null,
"ContentType":null,
"Data":{
"id":4,
"name":"fjyfyj | 4",
"data":{},
"children":[{
"ContentEncoding":null,
"ContentType":null,
"Data":{
"id":8,
"name":"cdasdasd | 8",
"data":{},
"children":[]
},
"JsonRequestBehavior":1,
"MaxJsonLength":null,
"RecursionLimit":null
}]
},
"JsonRequestBehavior":1,
"MaxJsonLength":null,
"RecursionLimit":null
}]
},
"JsonRequestBehavior":1,
"MaxJsonLength":null,
"RecursionLimit":null
}]
}

请帮助我如何生成正确的 JSON 格式。

最佳答案

在您的情况下,ContentEncodingContentType 等。这是返回 Json() 方法的字段。发生这种情况是因为它是响应的 MVC JSON 序列化的一部分,您不需要它。

你应该避免的是创建单独的方法,它将返回你的匿名对象(它应该看起来像你的 Controller 方法,但没有 JSON 序列化)并且比你应该将它传递给 Controller ​​中的 Json() 函数。

关于c# - 如何在 C# MVC 中生成正确的 JSON 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32902170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com