Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports IDB.API.DTO.Navigation
Namespace Global
    Namespace IDB.API.DTO.Navigation
        Public Partial Class Node
            Public Sub New()
                ChildNodes = New List(Of Node)
            End Sub
            Public Overridable Property EntityName As String
            Public Overridable Property ID As String
            Public Overridable Property ParentID As String
            Public Overridable Property Title As String
            Public Overridable Property Count As Nullable(Of Integer)
            Public Overridable Property ImageKey As String
            Public Overridable Property Expanded As Boolean
            Public Overridable Property Selected As Boolean
            Public Overridable Property DisplayPath As String
            Public Overridable Property ChildNodes As List(Of Node)
            Public Overridable Property RegistrationPathElement As String
            Public Overridable Property QueryPathElement As String
            Public Overridable Property Path As String
            Public Overridable Property IsHierarchy As Boolean
        End Class
        Public Partial Class ViewExplorerNode
            Inherits Node
            Public Sub New()
                ChildNodes = New List(Of ViewExplorerNode)
            End Sub
            Public Overridable Property ViewId As Nullable(Of Guid)
            Public Overridable Property ExplorerId As Nullable(Of Guid)
            Public Overridable Property ChildNodes As List(Of ViewExplorerNode)
        End Class
        Public Partial Class ViewsAndExplorers
            Public Sub New()
                Nodes = New List(Of ViewExplorerNode)
            End Sub
            Public Overridable Property Nodes As List(Of ViewExplorerNode)
        End Class
    End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /csv/reply/ViewsAndExplorers HTTP/1.1 
Host: doapigw.baasbv.nl 
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"Nodes":[{"ViewId":"00000000-0000-0000-0000-000000000000","ExplorerId":"00000000-0000-0000-0000-000000000000","ChildNodes":[{"ViewId":"00000000-0000-0000-0000-000000000000","ExplorerId":"00000000-0000-0000-0000-000000000000","ChildNodes":[{"ViewId":"00000000-0000-0000-0000-000000000000","ExplorerId":"00000000-0000-0000-0000-000000000000","ChildNodes":null,"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":null,"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":null,"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":null,"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}]}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"Nodes":[{"ViewId":"00000000-0000-0000-0000-000000000000","ExplorerId":"00000000-0000-0000-0000-000000000000","ChildNodes":[{"ViewId":"00000000-0000-0000-0000-000000000000","ExplorerId":"00000000-0000-0000-0000-000000000000","ChildNodes":[{"ViewId":"00000000-0000-0000-0000-000000000000","ExplorerId":"00000000-0000-0000-0000-000000000000","ChildNodes":null,"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":null,"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":null,"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":[{"EntityName":"String","ID":"String","ParentID":"String","Title":"String","Count":0,"ImageKey":"String","Expanded":false,"Selected":false,"DisplayPath":"String","ChildNodes":null,"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}],"RegistrationPathElement":"String","QueryPathElement":"String","Path":"String","IsHierarchy":false}]}