我正在iis + asp.net上构建Web服务,并且遇到了有关JSON序列化的问题。 使用JSON.Net或JavaScriptSerializer时,字典序列化为
{
'key0':'value0',
...
'keyN':'valueN',
}
但是当它通过“ ASP反序列化器”时,字典会像这样被序列化
[
{Key:'key0',Value:'value0'},
...
{Key:'keyN',Value:'valueN'}
]
我对ASP.net Web服务不熟悉,因此我使用了现成的Visual Studio模板。 当我在web.config中查看时,我看到了端点和行为的定义。在其中一种行为中,我看到有对dataContractSerializer的引用。 这似乎是反序列化时在后台使用的串行器。
所以我的问题是:
可以对dataContractSerializer进行调整以序列化合理的方式吗 (通过在网络配置中使用指令)?
我可以为端点中的端点设置另一个序列化器(JSON.net吗?) web.config?
我的方法当前输出一个Dictionary,我对其进行更改以返回一个字符串(该字符串以我自己的字典序列化提供)。但这并没有多大帮助,因为该字符串被默认的序列化程序转义了,该序列化程序将其用'“'括起来。
我可以覆盖吗?通过直接写到响应并结束响应?
请帮助我,我-真的-不想更改现有客户端,因此需要在服务器端进行操作。