返回字符串数组.net c#web api
我是c#和整个.net平台的新手,所以我正在为许多可能是非常基本的东西而挣扎。对我宽容点。我现在要做的就是返回一个json对象数组(显然是字符串) 在《邮递员》中,我将返回字符串数组.net c#web api,c#,asp.net,json,asp.net-web-api,C#,Asp.net,Json,Asp.net Web Api,我是c#和整个.net平台的新手,所以我正在为许多可能是非常基本的东西而挣扎。对我宽容点。我现在要做的就是返回一个json对象数组(显然是字符串) 在《邮递员》中,我将 [{"someProp":"someVal"},{ "aThing":"someOtherThing"}] 这么简单。。。实际上,我只是试图用请求正文的确切内容进行响应,但由于某种原因,我得到了一个空数组。有人知道为什么会这样吗?我尝试使用str.toArray将数组作为字符串返回,但随后返回了对象类型,即“System.st
[{"someProp":"someVal"},{ "aThing":"someOtherThing"}]
这么简单。。。实际上,我只是试图用请求正文的确切内容进行响应,但由于某种原因,我得到了一个空数组。有人知道为什么会这样吗?我尝试使用str.toArray
将数组作为字符串返回,但随后返回了对象类型,即“System.string[]”
。我只需要一个简单的JSON响应,其中包含数组中的对象
任何提示都将不胜感激。即使它只是指给我一个有用的资源。我已经穷尽了所有相关的S/O问题,a)看不到一个问题完全解决了我试图完成的任务,b)仍然尝试了一些解决方案,但没有成功。您的控制器将收到一个字符串 将方法的签名更改为
public string PostJsonString([FromBody] string arr)
当您想要使用JSON数组时,我建议使用JSON.net
(又称Newtonsoft.JSON
)和或
json并不表示字符串数组,它更像是字典或自定义对象。字符串数组应该是
[“someProp”、“someVal”、“aThing”、“someOtherThing”]
ahhh。姆凯@Jonesopolis,我明白了。因此,即使json在技术上是一个字符串(因为http实际上不知道对象是什么,对吗?),它仍然作为一个对象?对吗?@B.ClayShannon-danke,Shannon先生。我已经看过了,但我想我只是没有意识到JSON在通过http.SUCCESS发送时已经作为对象运行了!谢谢,伙计<代码>[HttpPost]公共JArray PostJsonString([FromBody]string arr){JArray a=JArray.Parse(arr);返回a;}此外,我最初并没有在字符串中发送数组。我将我的请求从[json in here]
重新格式化为'[json in here]'
。只是给子孙后代的一张便条
"[{\"someProp\":\"someVal\"},{ \"aThing\":\"someOtherThing\"}]"
public string PostJsonString([FromBody] string arr)
using Newtonsoft.Json
// ...
JArray a = JArray.Parse(json);
[HttpPost]
public JsonResult PostJsonString([FromBody] string[] arr)
{
return Json(arr);
}