[C#] वेब एपीआई से एचटीपी क्लाइंट के साथ जेसनऑब्जेक्ट पोस्ट करना



Answers

आपके JSON ऑब्जेक्ट के JSON प्रतिनिधित्व के साथ, StringContent का उपयोग करना सबसे आसान तरीका है।

httpClient.Post(
    "",
    new StringContent(
        myObject.ToString(),
        Encoding.UTF8,
        "application/json"));
Question

मैं वेब एपीआई से JsonObject का उपयोग कर JsonObject पोस्ट करने की कोशिश कर रहा हूं। मुझे पूरा यकीन नहीं है कि इस बारे में कैसे जाना है और नमूना कोड के रास्ते में ज्यादा नहीं मिल सकता है।

यहां तक ​​कि मेरे पास अब तक है:

var myObject = (dynamic)new JsonObject();
myObject.Data = "some data";
myObject.Data2 = "some more data";

HttpClient httpClient = new HttpClient("myurl");
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

HttpResponseMessage response = httpClient.Post("", ???);

मुझे लगता है कि मुझे अपने JsonObject को JsonObject रूप में डालना होगा, लेकिन मैं उस चरण पर लटका रहा हूं।




यदि Newtonsoft.Json का उपयोग कर रहे हैं:

using Newtonsoft.Json;
using System.Net.Http;
using System.Text;

public static class Extensions
{
 public static StringContent AsJson(this object o)
  => new StringContent(JsonConvert.SerializeObject(o), Encoding.UTF8, "application/json");
}

उदाहरण:

var httpClient = new HttpClient();
var url = "https://www.duolingo.com/2016-04-13/login?fields=";
var data = new { identifier = "username", password = "password" };
var result = await httpClient.PostAsync(url, data.AsJson())





Links