将响应字符串映射到来自 POST 请求的对象
Map response string to an Object from POST request
我正在尝试编写一个函数,该函数发出 Post 请求并将其 return 作为人体数据作为一个人对象。通常会为此使用 GET 操作,但由于某些技术问题,我不得不使用 POST。
// HttpClient client = new HttpClient();
public async Task<Person> PersonService()
{
var bodyObj = new Dictionary<string, string>();
bodyObj ["user_id"] = "ac345adf3gj6";
var serializedData = JsonSerializer.Serialize(bodyObj);
var stringContet = new StringContent(serializedData, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, data);
var contents = await response.Content.ReadAsStringAsync();
// map content to person object
return person; // object mapped from content string
}
有什么方法可以等待数据,将字符串映射到 Person 对象,然后 return 它作为 Person 对象而不是 Task?
类似的东西
public Person PersonService() { ... return person; }
为了反序列化来自 JSON 的内容,您可以使用 ReadFromJsonAsync 方法:
public async Task<Person> PersonService()
{
var bodyObj = new Dictionary<string, string>();
bodyObj ["user_id"] = "ac345adf3gj6";
var serializedData = JsonSerializer.Serialize(bodyObj);
var stringContet = new StringContent(serializedData, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, data);
// Change the following line:
var person = await response.Content.ReadFromJsonAsync<Person>();
return person; // object mapped from content string
}
我正在尝试编写一个函数,该函数发出 Post 请求并将其 return 作为人体数据作为一个人对象。通常会为此使用 GET 操作,但由于某些技术问题,我不得不使用 POST。
// HttpClient client = new HttpClient();
public async Task<Person> PersonService()
{
var bodyObj = new Dictionary<string, string>();
bodyObj ["user_id"] = "ac345adf3gj6";
var serializedData = JsonSerializer.Serialize(bodyObj);
var stringContet = new StringContent(serializedData, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, data);
var contents = await response.Content.ReadAsStringAsync();
// map content to person object
return person; // object mapped from content string
}
有什么方法可以等待数据,将字符串映射到 Person 对象,然后 return 它作为 Person 对象而不是 Task?
类似的东西
public Person PersonService() { ... return person; }
为了反序列化来自 JSON 的内容,您可以使用 ReadFromJsonAsync 方法:
public async Task<Person> PersonService()
{
var bodyObj = new Dictionary<string, string>();
bodyObj ["user_id"] = "ac345adf3gj6";
var serializedData = JsonSerializer.Serialize(bodyObj);
var stringContet = new StringContent(serializedData, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, data);
// Change the following line:
var person = await response.Content.ReadFromJsonAsync<Person>();
return person; // object mapped from content string
}