Attualmente sto lavorando con un'app console che sto utilizzando HttpClient per interagire con un database Apache CouchDB. Sto usando questo articolo: http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-clientCome ottenere il serializzatore HttpClient Json per ignorare i valori nulli
vorrei ignorare le proprietà nulli nella mia classe quando sto serializzazione e l'invio di un documento alla mia base di dati tramite il PostAsJsonSync ma non sono sicuro di come:
public static HttpResponseMessage InsertDocument(object doc, string name, string db)
{
HttpResponseMessage result;
if (String.IsNullOrWhiteSpace(name)) result = clientSetup().PostAsJsonAsync(db, doc).Result;
else result = clientSetup().PutAsJsonAsync(db + String.Format("/{0}", name), doc).Result;
return result;
}
static HttpClient clientSetup()
{
HttpClientHandler handler = new HttpClientHandler();
handler.Credentials = new NetworkCredential("**************", "**************");
HttpClient client = new HttpClient(handler);
client.BaseAddress = new Uri("*********************");
//needed as otherwise returns plain text
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
return client;
}
Ecco la classe che sto serializzazione ....
class TestDocument
{
public string Schema { get; set; }
public long Timestamp { get; set; }
public int Count { get; set; }
public string _rev { get; set; }
public string _id { get; set; } - would like this to be ignored if null
}
Qualsiasi aiuto molto apprezzato.
Dietro le quinte, si sono probabilmente usando Json.NET. http://stackoverflow.com/questions/9819640/json-net-ignoring-null-fields –
Qualche idea su come fare riferimento al serializzatore che sta usando allora? –
Sembra esattamente come il mio problema quando si fa mettere i documenti a CouchDB – Thomas