2012-09-10 14 views
6

Tengo un punto final que toma un objeto Json que tiene un elemento de mensaje y luego el resto puede tener diferentes propiedades. He aquí un ejemplo:¿Cómo publico Raw Json con RestSharp?

public void SendMessage(IDictionary<string, string> message) 
{ 
    var client = new RestClient(MahUrl); 
    var request = new RestRequest(Method.POST); 
    var json = new JObject(); 

    foreach (var pair in message) 
    { 
     json.Add(pair.Key, pair.Value); 
    } 
    json = new JObject(new JProperty("message", json)); 
    // { 
    //  "message": 
    //  { 
    //   "prop1": "val1", 
    //   "foo": "bar", 
    //   "batman": "robin" 
    //  } 
    // } 

    // not quite sure here 
    request.? 

    // send request 
} 

que he visto un montón de ejemplos de cómo se puede serializar/deserializar un objeto .NET, pero como se puede ver, las propiedades del objeto JSON podrían ser cualquier cosa. ¿Cómo puedo simplemente publicar raw json usando RestSharp?

+0

Me interesa lo que está demás. ¿Logró resolver el problema eventualmente? – Para

+0

Me rendí en RestSharp. Tuve que usar un HttpWebRequest estándar para enviar un mensaje que era raro como este. – bressain

Respuesta

6

Creo que el siguiente fragmento es lo que estás buscando.

request.AddParameter("application/json", json, ParameterType.RequestBody); 
+0

Esto funciona perfectamente cuando la variable 'json' es una cadena - no han intentado lanzar JObjects en ella ... (serviceinfo para que otras personas encuentren esta página) – Julian

Cuestiones relacionadas