MVC中返回Json的几种声明方式

本文介绍ASP.NET中使用JavaScriptSerializer进行JSON序列化的三种方式:单行数据、多行数据及多对象数据序列化,并给出具体代码示例。

第一种,单行数据

 
var result = new { name = "linfei", age = "26", address = "wuhan" };
//MVC中返回 return Json(result);
//asp.net中返回 System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer(); return js.Serialize(result);
 

显示结果:

{
    "name": "linfei",
    "age": "26",
    "address": "wuhan"
}

 

第二种,多行数据

 
var result = new object[] { new { name = "linfei", age = "22", address = "wuhan" }, new { name = "linfei", arg = "26", address = "sh" } };
//MVC中返回 return Json(result);
//asp.net中返回 System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer(); return js.Serialize(result);
 

显示结果:

 
[
    {
        "name": "linfei",
        "age": "22",
        "address": "wuhan"
    },
    {
        "name": "linfei",
        "arg": "26",
        "address": "sh"
    }
]
 

 

第三种,多行多对象数据

 
var data1 = new object[] { new { name = "linfei", age = "22", address = "wuhan" }, new { name = "linfei", arg = "26", address = "sh" } };
var data2 = new object[] { new { test="123",test1="qq"}, new { test = "456", test1 = "ww" } };
var result = new object[] { new { rows = data1 }, new { header = data2 } };
//MVC中返回
return Json(result);
//asp.net中返回
System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer();
return js.Serialize(result);
 

 显示结果:

 
[
    {
        "rows": [
            {
                "name": "linfei",
                "age": "22",
                "address": "wuhan"
            },
            {
                "name": "linfei",
                "arg": "26",
                "address": "sh"
            }
        ]
    },
    {
        "header": [
            {
                "test": "123",
                "test1": "qq"
            },
            {
                "test": "456",
                "test1": "ww"
            }
        ]
    }
]
 

 

 还有个asp.net中的写法,网上找的

var data1 = new object[] { new { name = "linfei", age = "22", address = "wuhan" }, new { name = "linfei", arg = "26", address = "sh" } };
var data2 = new object[] { new { test = "123", test1 = "qq" }, new { test = "456", test1 = "ww" } };
Newtonsoft.Json.JsonSerializerSettings settings = new Newtonsoft.Json.JsonSerializerSettings();
settings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
string result = Newtonsoft.Json.JsonConvert.SerializeObject(new { rows = data1, header = data2 }, Newtonsoft.Json.Formatting.Indented, settings);

 

转载于:https://www.cnblogs.com/haiyabtx/archive/2013/05/19/3086471.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值