2012-09-10 13 views
6

Ho un endpoint che accetta un oggetto Json che ha un elemento messaggio e quindi il resto può avere proprietà diverse. Ecco un esempio:Come posso pubblicare Raw Json usando 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 
} 

Ho visto un sacco di esempi di come è possibile serializzare/deserializzare un oggetto .NET, ma come si può vedere, le proprietà dell'oggetto JSON potrebbe essere qualsiasi cosa. Come posso postare raw json usando RestSharp?

+0

Sono interessato anche a questo. Sei riuscito a risolvere il problema alla fine? – Para

+0

Mi sono arreso su RestSharp. Ho dovuto usare un HttpWebRequest standard per inviare un messaggio strano come questo. – bressain

risposta

6

Credo che il seguente frammento sia quello che stai cercando.

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

Funziona perfettamente quando la variabile 'json' è una stringa - non ho provato a lanciarla su JObjects ... (serviceinfo per altre persone che trovano questa pagina) – Julian

Problemi correlati