如何在C#的HttpPost方法中解析JSON请求体并返回指定内容
C# HttpPost接口解析JSON请求体并返回拼接内容的实现方案
推荐使用ASP.NET Core自带的模型绑定功能实现,代码更规范易维护:
实现步骤
- 先定义请求参数绑定模型,用于匹配JSON请求体的结构
public class UserInfo { public string Name { get; set; } public string Age { get; set; } }
- 修改接口方法,添加模型参数并标记
[FromBody],框架会自动将请求体JSON反序列化为模型实例 - 调整返回逻辑,直接返回纯文本拼接结果即可
完整接口代码
[HttpPost] public async Task<IActionResult> Test([FromBody] UserInfo request) { // 非空校验可按需添加 if (request == null) return BadRequest("请求参数不能为空"); // 拼接返回内容 string responseContent = $"{request.Name} {request.Age}"; // 返回纯文本格式结果 return Content(responseContent); }
无需定义模型的临时实现方案
如果不想单独创建模型类,也可以直接读取请求体原始内容手动解析:
[HttpPost] public async Task<IActionResult> Test() { // 读取请求体原始JSON string rawJson = await new StreamReader(Request.Body).ReadToEndAsync(); // 用System.Text.Json解析内容 using var jsonDoc = JsonDocument.Parse(rawJson); string name = jsonDoc.RootElement.GetProperty("name").GetString(); string age = jsonDoc.RootElement.GetProperty("age").GetString(); return Content($"{name} {age}"); }
内容的提问来源于stack exchange,提问作者steve238
相关产品推荐
相关产品推荐

