Web API将JSON对象转换为简单参数 [英] Web API translate JSON object into simple parameters

查看:27
本文介绍了Web API将JSON对象转换为简单参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我要通过这样的方式将JSON数据(通过POST)发送到.Net Core Web API

If I am sending JSON data (via POST) to a .Net Core Web API like this

{a:"a",b:"b"}

要具有这样的控制器方法,我需要做什么?

What do I need to do to have a controller method like this?

[HttpPost]
public async Task SometMethod(string a, string b) 
{
  return Ok();
}

通常,所有教程和文档都说您需要定义一个类并使用 [FromBody] 属性.但是,如果没有真正不需要的额外类,我该怎么办呢?

Normally, all tutorials and docs say that you need to define a class and use [FromBody] attribute. But how can I make do without extra classes that I don't really need?

推荐答案

首先,您的json应该是:

Firstly,your json should be:

{ 
    "a":"a", 
    "b":"b" 
}

您可以以 JObject 的形式接收数据,而不是像下面这样的类:

You could receive data as JObject instead of a class like below:

[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
    [HttpPost]
    public void Post(JObject data)
    {
        //get the property value like below
        var data1 = data["a"].ToString();
        var data2 = data["b"].ToString();
    }
}

结果(为便于区分值和属性名称,我将 a 更改为 aaa ,将 b 更改为 bbb ):

Result (For easily distinguish value and property name,I change a to aaa and b to bbb):

这篇关于Web API将JSON对象转换为简单参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆