返回字符串 .NET C# Web API 数组

本文关键字:API 数组 Web 字符串 NET 返回 | 更新日期: 2023-09-27 18:31:19

我是c#和整个.net平台的新手,所以我正在努力解决很多可能非常基本的事情。 对我放轻松。我现在要做的就是返回一个 json 对象数组(显然是字符串)。

[HttpPost]
public string[] PostJsonString([FromBody] string[] arr)
    {
        return arr;
    }

在邮递员中,我正在发送

[{"someProp":"someVal"},{ "aThing":"someOtherThing"}]

如此痛苦的简单...从字面上看,我只尝试使用请求正文的确切内容进行响应,但由于某种原因,我返回了一个空数组。有谁知道为什么会这样?我尝试将数组作为带有str.toArray的字符串返回,但随后我返回了对象类型,即 "System.String[]" .我只想要一个简单的 JSON 响应,其中包含数组中的对象。

任何提示都值得赞赏。即使它只是向我指出一个有用的资源。我已经用尽了所有相关的 S/O 问题,并且 a) 没有看到一个完全解决我想要完成的问题,并且 b) 仍然尝试了一些解决方案无济于事。

返回字符串 .NET C# Web API 数组

[HttpPost]
public JsonResult PostJsonString([FromBody] string[] arr)
{
    return Json(arr);
}

控制器将收到单个字符串

"[{'"someProp'":'"someVal'"},{ '"aThing'":'"someOtherThing'"}]"

将方法的签名更改为

public string PostJsonString([FromBody] string arr)

当你想使用JSON数组时,我建议使用JSON.net(又名Newtonsoft.Json)和JArray.Parse或JObject.Parse

using Newtonsoft.Json
// ...
JArray a = JArray.Parse(json);