WebService возвращает JSON из сериализованного XML, но как строка - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть собственный веб-сервис.Я получаю запрос (JSON).Я обрабатываю это и получаю результат как XmlDocument.Теперь мне нужно вернуть ответ (также JSON).Но есть проблема, потому что результатом является структура JSON, но в строковом формате.

[ServiceContract(Name = "MyService", Namespace = "http://tempuri.org/")]
public interface ImyAgent
{
    [OperationContract]
    [WebInvoke(UriTemplate = "json-post", Method = "*", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
    string ActionJsonPost(string data);
}

namespace MyService
{
    [ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.Single, IncludeExceptionDetailInFaults = true, AddressFilterMode = AddressFilterMode.Any)]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class myAgent : ImyAgent
    {
        public myAgent() { }

        public string ActionJsonPost(string data)
        {
            XmlDocument xml = new XmlDocument();
            xml.LoadXml("<root><question>language</question><date>2019-02-07</date></root>"); //some XML structure, I can't specified, depends on requests
            return JsonConvert.SerializeXmlNode(xml);
        }
    }
}

Итак, XML-результат:

language 2019-02-07

Результат JSON должен быть:

{"root": {"question": "language"," date ":" 2019-02-07 "}}

но, к сожалению, реальный результат:

" {\ "root \": {\ "вопрос \ ": \" language \ ", \" date \ ": \" 2019-02-07 \ "}}"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...