Le type de désérialisation JSON n'est pas pris en charge pour la désérialisation d'un tableau

J'ai lu deux autres postes concernant la désérialisation d'erreur, mais je n'ai pas obtenu de n'importe où, alors je poste ma propre question.

J'ai un service WCF qui est de retour JSON. Lors de la désérialisation d'un type spécifique, il échoue.

Dans un effort pour vous permettre de facilement reproduire l'erreur, je l'ai codé en dur au format JSON ci-dessous, avec l'appel.

Essentiellement, vous devriez être en mesure de copier/coller le code ci-dessous et de le voir échouer.

Les besoins des consommateurs pour désérialiser en faire un objet de travail. s.Désérialiser échoue avec le message d'erreur indiqué dans le Titre.

NOTE: je me rends compte il y a des barres obliques dans mon JSON. Ceux qui sont là pour des raisons de commodité d'échapper les guillemets. Merci.

Exemple de code:

  var s = new JavaScriptSerializer();

        var jstr =
            "[{\"UserId\":1,\"WorkoutId\":1,\"WorkoutInfo\":[\"Step 1\",\"Step 2\"]},{\"UserId\":2,\"WorkoutId\":2,\"WorkoutInfo\":[\"Step 1a\",\"Step 2a\"]},{\"UserId\":5,\"WorkoutId\":0,\"WorkoutInfo\":[\"new work1\",\"new work 1\",\"new work 1\"]}]";

        Workout blah = s.Deserialize<Workout>(jstr);
        var response = ServicePOST<Workout>("AddUserWorkout", workout);

et d'Entraînement de la classe:

public class Workout
{
    public int UserId { get; set; }
    public List<string> WorkoutInfo { get; set; }
}

source d'informationauteur tronious | 2014-05-12