Я создаю веб-сервис на iis + asp.net, и у меня возникла проблема с сериализацией JSON.При использовании JSON.Net или JavaScriptSerializer словарь сериализуется как
{
'key0':'value0',
...
'keyN':'valueN',
}
, но когда он проходит через «десериализатор ASP», словарь сериализуется следующим образом:
[
{Key:'key0',Value:'value0'},
...
{Key:'keyN',Value:'valueN'}
]
I 'Я не знаком с веб-сервисами ASP.net, поэтому я использую готовый шаблон для Visual Studio.Когда я смотрю в web.config, я вижу, что есть определения для конечных точек и поведения.В одном из этих действий я вижу ссылку на dataContractSerializer.Похоже, что это сериализатор, который используется под капотом при десериализации.
Итак, мои вопросы:
Мой метод в настоящее время выводит словарь, я изменяю его, чтобы вернуть строку (которую я передаю с моей собственной сериализацией моего словаря).Но это не очень помогло, потому что строка экранируется сериализатором по умолчанию, который заключает ее в '' '.
Могу ли я переопределить это? Записав непосредственно в ответ и завершив ответ?
Пожалуйста, помогите мне, я действительно не хочу менять существующего клиента, поэтому мне нужно сделать это на стороне сервера.