Comment gérer à la fois un élément unique et un tableau pour la même propriété à l'aide de JSON.net

J'essaie de résoudre mon SendGridPlus bibliothèque de traiter avec SendGrid événements, mais je vais avoir quelques problèmes avec le manque d'uniformité dans le traitement de catégories dans l'API.

Dans l'exemple suivant charge utile prises à partir de la SendGrid de référence de l'API, vous remarquerez que la category propriété pour chaque élément peut être une chaîne ou un tableau de chaînes de caractères.

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

Il semble que mon options pour faire JSON.NET comme ce sont de fixation de la chaîne avant qu'elle arrive, ou de la configuration de JSON.NET pour accepter les données incorrectes. Je préfère ne pas faire de traitement de chaîne si je peux sortir avec elle.

Est-il un autre moyen que je peux gérer cela à l'aide de Json.Net?

OriginalL'auteur Robert McLaws | 2013-09-25