ServiceStack.Text 在应用程序启动时设置 JsConfig
ServiceStack.Text set JsConfig on application start
我在 asp net mvc 应用程序的 Application_Start 方法中设置了 JsConfig
protected void Application_Start()
{
JsConfig.DateHandler = JsonDateHandler.ISO8601;
JsConfig.EmitCamelCaseNames = true;
}
然后我想在我的服务方法中使用扩展方法 ToJson,例如
public string testMethod{
//here code
var obj = new TestObj{
Id = 1,
CurrentDate = DateTime.Now
}
return obj.ToJson();
}
然后我查看结果,我看到 json 导致 PascalCase 和日期格式如下 Date(123455678990)
,但在我在配置中设置使用 camelCase 和 utc 格式日期之前
但我在我的服务方法中设置了配置,例如:
public string testMethod{
//here code
JsConfig.DateHandler = JsonDateHandler.ISO8601;
JsConfig.EmitCamelCaseNames = true;
var obj = new TestObj{
Id = 1,
CurrentDate = DateTime.Now
}
return obj.ToJson();
}
我得到了我想要的结果
是否可以在启动我的应用程序时设置 JsConfig 属性?
在 Global.asax 中的 Application_Start()
处设置 JsConfig 属性确实按预期设置了 JSON 序列化首选项的全局配置。
我在测试 MVC 项目 in this commit 中添加了一个示例,它按预期工作,在 Application_Start()
:
中设置了静态 JsConfig 配置
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
JsConfig.Init(new Config {
DateHandler = DateHandler.ISO8601,
TextCase = TextCase.CamelCase
});
//...
}
}
并在控制器中序列化 JSON:
return new HomeViewModel
{
Name = name,
Json = new TestObj { Id = 1, CurrentDate = DateTime.Now }.ToJson()
};
按预期序列化:
{"id":1,"currentDate":"2016-06-29T11:56:45.7517089-04:00"}
我在 asp net mvc 应用程序的 Application_Start 方法中设置了 JsConfig
protected void Application_Start()
{
JsConfig.DateHandler = JsonDateHandler.ISO8601;
JsConfig.EmitCamelCaseNames = true;
}
然后我想在我的服务方法中使用扩展方法 ToJson,例如
public string testMethod{
//here code
var obj = new TestObj{
Id = 1,
CurrentDate = DateTime.Now
}
return obj.ToJson();
}
然后我查看结果,我看到 json 导致 PascalCase 和日期格式如下 Date(123455678990)
,但在我在配置中设置使用 camelCase 和 utc 格式日期之前
但我在我的服务方法中设置了配置,例如:
public string testMethod{
//here code
JsConfig.DateHandler = JsonDateHandler.ISO8601;
JsConfig.EmitCamelCaseNames = true;
var obj = new TestObj{
Id = 1,
CurrentDate = DateTime.Now
}
return obj.ToJson();
}
我得到了我想要的结果
是否可以在启动我的应用程序时设置 JsConfig 属性?
在 Global.asax 中的 Application_Start()
处设置 JsConfig 属性确实按预期设置了 JSON 序列化首选项的全局配置。
我在测试 MVC 项目 in this commit 中添加了一个示例,它按预期工作,在 Application_Start()
:
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
JsConfig.Init(new Config {
DateHandler = DateHandler.ISO8601,
TextCase = TextCase.CamelCase
});
//...
}
}
并在控制器中序列化 JSON:
return new HomeViewModel
{
Name = name,
Json = new TestObj { Id = 1, CurrentDate = DateTime.Now }.ToJson()
};
按预期序列化:
{"id":1,"currentDate":"2016-06-29T11:56:45.7517089-04:00"}