Mat*_*ete 2 c# json asp.net-core
我试图在.Net 5应用程序中创建一个JSON对象.我带有默认的选项是Microsoft.AspNet.Mvc.Formatters.Json,Microsoft.Extensions.Configuration.Json和Newtonsoft.Json当我使用Visual Studio 2015年入住的操作Json.我的理解是,Configuration.Json对于阅读形式,appsettings.json所以它可能不是我将用于创建JSON对象.我找不到任何真实的信息Formatters.Json,如何使用它,或者它的用途是什么.Newtonsoft.Json将被记录,但它是否更好Formatters.Json?我应该使用哪两个?
var expected = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(new { foo = "abcd" }));
同样取自测试并稍加修改,使用HttpClient调用它以查看如何将json字符串发送到服务器.
var response = await Client.PostAsync(
"http://localhost/api/ActionUsingSpecificFormatters",
new StringContent(yourJsonContent, Encoding.UTF8, "application/json"));
按照牛顿软件,你可以简单地编码,然后做任何你想做的事情.
Product product = new Product();
product.Name = "Apple";
product.ExpiryDate = new DateTime(2008, 12, 28);
product.Price = 3.99M;
product.Sizes = new string[] { "Small", "Medium", "Large" };
string output = JsonConvert.SerializeObject(product);
//{
// "Name": "Apple",
// "ExpiryDate": "2008-12-28T00:00:00",
// "Price": 3.99,
// "Sizes": [
// "Small",
// "Medium",
// "Large"
// ]
//}
Product deserializedProduct = JsonConvert.DeserializeObject(output);
把它们放在一起 - 我刚测试了这个.请记住,这是一个真正的通用测试,来自MVC 6(ASP.NET 5即ASP.NET Core 1):)
[HttpGet]
public async Task<string> Get()
{
var client = new HttpClient();
var customer = new Customer() { Name = "Schmo", Address = "1999 Purple Rain St" };
var customerJson = JsonConvert.SerializeObject(customer);
var response = await client.PostAsync(
"http://localhost:4815/api/Customer",
new StringContent(customerJson, Encoding.UTF8, "application/json"));
//just some template output to test which I'm getting back.
string resultJson = "{ 'Name':'adam'}";
if (response.StatusCode == HttpStatusCode.OK)
{
resultJson = await response.Content.ReadAsStringAsync();
var updatedCustomer = JsonConvert.DeserializeObject(resultJson);
}
return resultJson;
}
public class Customer
{
public string Name { get; set; }
public string Address { get; set; }
}
| 归档时间: |
|
| 查看次数: |
19199 次 |
| 最近记录: |