ASP MVC - 创建json结构

时间:2016-04-20 10:11:37

标签: c# json

我有一个问题。我想在ASP Controller中创建这个json结构:

{
"title": "T1",
"data": [
    { "value": "v1", "key": "k1" },
    { "value": "v2",       "key": "k2" }
]
}   

我试过了:

var data = new
        {
            title = "T1",
            data = new[]
            {
                new
                {
                    value = "V1",
                    key= "K1"
                },
                new
                {
                    value = "V2",
                    key= "K2"
                }
            }
        };

感谢您的建议

3 个答案:

答案 0 :(得分:2)

您可以在控制器的操作中使用Json方法:

    [HttpGet]
    public ActionResult GetJsonData()
    {
        var data = new
        {
            title = "T1",
            data = new[]
            {
                new
                {
                    value = "V1",
                    key = "K1"
                },
                new
                {
                    value = "V2",
                    key = "K2"
                }
            }
        };
        return Json(data, JsonRequestBehavior.AllowGet);
    }

答案 1 :(得分:1)

您可以使用Newtonsoft.Json包中的 JsonConvert.SerializeObject()方法将您的数据对象转换为json格式的字符串:

var json = JsonConvert.SerializeObject(data);

答案 2 :(得分:0)

您可以使用优秀的Json.Net之类的:

JObject jsonObject = JObject.FromObject(data);
var json = jsonObject.ToString();

data是您在上面发布的匿名对象。
Json.Net可以通过Nuget下载Install-Package Newtonsoft.Json

(如果它是控制器操作,您只需返回Json(data)