Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回字符串数组.net c#web api_C#_Asp.net_Json_Asp.net Web Api - Fatal编程技术网

返回字符串数组.net c#web api

返回字符串数组.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

我是c#和整个.net平台的新手,所以我正在为许多可能是非常基本的东西而挣扎。对我宽容点。我现在要做的就是返回一个json对象数组(显然是字符串)

在《邮递员》中,我将

[{"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);
}