Cómo manejar un solo elemento y una matriz para la misma propiedad usando JSON.net

Estoy tratando de arreglar mi biblioteca de SendGridPlus para lidiar con los eventos de SendGrid, pero estoy teniendo algunos problemas con el tratamiento inconsistente de las categorías en la API.

En el siguiente ejemplo, la carga útil tomada de laReferencia de la API de SendGrid, notarás que elcategory la propiedad de cada elemento puede ser una sola cadena o una matriz de cadenas.

[
  {
    "email": "[email protected]",
    "timestamp": 1337966815,
    "category": [
      "newuser",
      "transactional"
    ],
    "event": "open"
  },
  {
    "email": "[email protected]",
    "timestamp": 1337966815,
    "category": "olduser",
    "event": "open"
  }
]

Parece que mis opciones para hacer JSON.NET de esta manera son arreglar la cadena antes de que llegue, o configurar JSON.NET para aceptar los datos incorrectos. Preferiría no hacer ningún análisis de cadena si puedo salirme con la suya.

¿Hay alguna otra forma en que pueda manejar esto usando Json.Net?

Respuestas a la pregunta(6)

Su respuesta a la pregunta