2015-01-23 2 views
0

Это определение объекта:Force ServiceStack включить нулевое поле в выходе JSON?

Public Class ApplicationError 
    Public Property Id As Integer 
    Public Property Application As Application ' object defined elsewhere 
    Public Property Task As String 
    Public Property Description As String 
    Public Property ErrorTimestamp As DateTime 
    Public Property RestartTimestamp As DateTime? ' <-- nullable 
    Public Property ApplicationStopped As Boolean 
End Class 

Ответ определение сообщения содержит свойство Result() As ApplicationError. JSON производства выглядит следующим образом:

{ 
    "Result": [ 
     { 
      "Id": 4, 
      "Application": { 
       "ID": 4, 
       "Name": "An Application", 
       ... 
      }, 
      "Task": "Fake Error", 
      "Description": "Data to validate monitoring app.", 
      "ErrorTimestamp": "2015-01-23T12:22:01.5830000", 
      "ApplicationStopped": false 
     } 
    ] 
} 

Обратите внимание, что нет RestartTimestamp собственности в этом Result объекта. Эти данные попадают в приложение для нокаутов. Нокаут собирается выбросить ошибку, потому что отсутствует свойство RestartTimestamp. Мне нужно имущество RestartTimestamp: null. Да, я мог бы добавить код в своем клиентском приложении, чтобы сделать это. Я действительно не хочу этого делать; клиентское приложение довольно упорядоченное, и я хотел бы сохранить его таким образом.

Как я могу заставить ServiceStack создать свойство RestartTimestamp: null, которое мне нужно?

ответ

2

Вы можете настроить испускать null свойства с:

JsConfig.IncludeNullValues = true; 
Смежные вопросы