gpt4 book ai didi

c# - 使用 C# 返回 JSON,如 PHP json_encode

转载 作者:可可西里 更新时间:2023-11-01 13:08:09 25 4
gpt4 key购买 nike

在 PHP 中返回一些 JSON 我会这样做:

return json_encode(array('param1'=>'data1','param2'=>'data2'));

如何以最简单的方式在 C# ASP.NET MVC3 中执行等效操作?

最佳答案

您可以使用 JavaScriptSerializer框架内置的类。例如:

var serializer = new JavaScriptSerializer();
string json = serializer.Serialize(new { param1 = "data1", param2 = "data2" });

产量:

{"param1":"data1","param2":"data2"}

但是由于您谈到了在 ASP.NET MVC 3 中返回 JSON,因此已经有内置技术允许您直接返回对象并让底层基础设施负责将此对象序列化为 JSON 以避免污染您的代码管道。

例如,在 ASP.NET MVC 3 中,您只需编写一个返回 JsonResult 的 Controller 操作:

public ActionResult Foo()
{
// it's an anonymous object but you could have used just any
// view model as you like
var model = new { param1 = "data1", param2 = "data2" };
return Json(model, JsonRequestBehavior.AllowGet);
}

您不再需要担心管道问题。在 ASP.NET MVC 中,您拥有返回操作结果的 Controller 操作,并将 View 模型传递给这些操作结果。在 JsonResult 的情况下,底层基础设施将负责序列化您传递给 JSON 字符串的 View 模型,此外还将 Content-Type 响应 header 正确设置为 application/json.

关于c# - 使用 C# 返回 JSON,如 PHP json_encode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9016595/

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