Json.NET 6.0.1 добавляет поддержку F # для записей и дискриминационных объединений. При сериализации типа записи F # с использованием Json.NET теперь я получаю красиво отформатированный JSON.
Сериализация выполняется следующим образом:
let converters = [| (new StringEnumConverter() :> JsonConverter) |]
JsonConvert.SerializeObject(questionSet, Formatting.Indented, converters)
Однако, когда я пытаюсь разоблачить свои типы F # через службу ASP.NET WebApi 5.0, написанную на С#, сериализованный JSON включает в себя @-sign infront всех свойств. @-знак поступает из внутреннего поля поддержки для типа записи (это раньше было известной проблемой с Json.Net и F #).
Но - поскольку я использую обновленную версию Json.NET, не должен ли результат быть таким же, как при вызове JsonConvert? Или JsonConvert
ведет себя иначе, чем JsonTextWriter
и JsonTextReader
?
Насколько я могу судить по чтению JsonMediaTypeFormatter
в источнике WebApi JsonTextWriter
и JsonTextReader
используется WebApi.