Deserializar JSON en un objeto con Json.NET

Estoy jugando un poco con el nuevoAPI StackOverflow. Desafortunadamente, mi JSON es un poco débil, por lo que necesito ayuda.

Estoy tratando de deserializar este JSON de un usuario:

  {"user":{
    "user_id": 1,
    "user_type": "moderator",
    "creation_date": 1217514151,
    "display_name": "Jeff Atwood",
    ...
    "accept_rate": 100
  }}

en un objeto que he decorado conJsonProperty atributos:

[JsonObject(MemberSerialization.OptIn)]
public class User
{
    [JsonProperty("user_id", Required = Required.Always)]        
    public virtual long UserId { get; set; }

    [JsonProperty("display_name", Required = Required.Always)]
    public virtual string Name { get; set; }

    ...
}

Me sale la siguiente excepción:

Newtonsoft.Json.JsonSerializationException: la propiedad requerida 'user_id' no se encuentra en JSON.

¿Es esto porque el objeto JSON es una matriz? Si es así, ¿cómo puedo deserializarlo para el único objeto Usuario?

¡Gracias por adelantado!

Respuestas a la pregunta(3)

Su respuesta a la pregunta