В WebMethod я использую JSON.NET, чтобы вручную сериализовать свой объект, чтобы избежать проблемы с циклической ссылкой структуры сущностей.
У меня есть следующий код:
Dim qry = From m In entity.Mediators _
Where m.MediatorNumber = mediatorNumber _
Select m
For Each mediator In qry
mediator.MediatorRestrictionsAvailabilities.Load()
customMediator = mediator
Next
customJson = JsonConvert.SerializeObject(customMediator, Formatting.Indented)
Проблема в том, что результат плохо отформатирован в формате JSON и не может быть проанализирован на клиенте; это выглядит так:
{"d":"{\r\n \"$id\": \"1\",\r\n \"MediatorId\": 922,\r\n \"AreaCode\": \"E \ ",\r\n \"PFCCode\": \"840\",\r\n \"Имя\": \"Джо\",\r\n \"Фамилия\": \"Смит\", \r\n
Проведя некоторое исследование, я узнал, что это происходит, когда JSON повторно сериализуется в JSON.
Как мне сделать свою собственную сериализацию без использования сериализатора по умолчанию?