C#, Enviar un objeto Json a un servicio REST (Por POST)
Primero declarar el objeto que se va a envía
FirmaJson firmaJson = new FirmaJson
{
institucion = "INTERCAPIT",
coddocumento = "PQ80000001DC830CON",
tipo_docto = "CONTRATODEMO"
};
//Declara el objeto con el que haremos la llamada al servicio
HttpWebRequest request = WebRequest.Create(uri) as HttpWebRequest;
//Configurar las propiedad del objeto de llamada
request.Method = "POST";
request.ContentType = "application/json";
//Serializar el objeto a enviar. Para esto uso la libreria Newtonsoft
string sb = JsonConvert.SerializeObject( firmaJson);
Convertir el objeto serializado a arreglo de byte
Byte[] bt = Encoding.UTF8.GetBytes(sb);
//Agregar el objeto Byte[] al request
Stream st = request.GetRequestStream();
st.Write(bt, 0, bt.Length);
st.Close();
//Hacer la llamada
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
//Leer el resultado de la llamada
Stream stream1 = response.GetResponseStream();
StreamReader sr = new StreamReader(stream1);
string strsb = sr.ReadToEnd();
}
El objeto strsb es el que contiene la respuesta del servicio, si esta respuesta es Json puedes deserializarlo