在ASP.NET Core中,处理JSON数据转换通常使用Newtonsoft.Json库。要处理数据转换,您需要执行以下步骤:
dotnet add package Newtonsoft.Json
{
"name": "John Doe",
"age": 30,
"isStudent": false
}
您可以创建一个与此结构相对应的C#类:
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public bool IsStudent { get; set; }
}
using Newtonsoft.Json;
// 将JSON字符串转换为C#对象
string jsonString = "{\"name\":\"John Doe\",\"age\":30,\"isStudent\":false}";
Person person = JsonConvert.DeserializeObject<Person>(jsonString);
// 将C#对象转换为JSON字符串
Person anotherPerson = new Person { Name = "Jane Doe", Age = 28, IsStudent = true };
string anotherJsonString = JsonConvert.SerializeObject(anotherPerson);
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
[ApiController]
[Route("api/[controller]")]
public class PersonsController : ControllerBase
{
[HttpPost]
public async Task<IActionResult> Create([FromBody] Person person)
{
// 在这里处理JSON数据
return CreatedAtAction(nameof(Get), new { id = person.Id }, person);
}
[HttpGet("{id}")]
public async Task<IActionResult> Get(int id)
{
// 在这里处理JSON数据
Person person = new Person { Id = id, Name = "John Doe", Age = 30, IsStudent = false };
return Ok(person);
}
}
这样,当客户端发送JSON数据到/api/persons
时,控制器方法将自动将JSON数据转换为Person
对象。同样,当您返回一个Person
对象时,它将被自动转换为JSON字符串。