C# webservice无法接收别人回调post的json数组

xiangyueming 2020-08-18 03:52:46
接收的接口代码如下:
#region API_接收回调推送
[WebMethod(Description = "API_接收回调推送")]

public void API_GetNotice()
{
Context.Response.Clear();
Context.Response.ContentType = "application/json; charset=UTF-8";
Context.Response.Write("{\"status\":1}");
Context.Response.Flush();
Context.Response.End();
}
#endregion


我postman进行post,采用http post raw data 方式,设置content type 为application/json
'Content-Type: application/json;charset=UTF-8',
'Accept: application/json'
其中我post的如果是对象{},是可以顺利接收到的,能进入程序,但是如果我post的是数组[],则根本不进方法,直接报错,不知道是哪里的配置有问题?求高手指点
1)以下是传对象,ok的

2)以下是传数组,报错的
...全文
8547 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiangyueming 2020-08-21
  • 打赏
  • 举报
回复
引用 6 楼 sprc_lcl 的回复:
你直接用web不香吗
web可以,就是以前很多代码都写的是webservice
sprc_lcl 2020-08-21
  • 打赏
  • 举报
回复
你直接用web不香吗
sprc_lcl 2020-08-21
  • 打赏
  • 举报
回复
虽然没试过你的这种情况,就是不明白为啥要用webservice来搞,,webservice,,webservice,,
xiangyueming 2020-08-19
  • 打赏
  • 举报
回复
试过的,任何数组都不行,包括空数组
[{"id":1001,"status":1}]
,但是任何对象都可以,包括空对象{} 数组奇怪的就是根本不进方法,我调试都没法调试。
65号腕 2020-08-18
  • 打赏
  • 举报
回复
有试过不用空数组吗?换字符串数组试试
xiangyueming 2020-08-18
  • 打赏
  • 举报
回复
报错如下:
{
    "Message": "数组的反序列化不支持类型“System.Collections.Generic.IDictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]”。",
    "StackTrace": "   在 System.Web.Script.Serialization.ObjectConverter.ConvertListToObject(IList list, Type type, JavaScriptSerializer serializer, Boolean throwOnError, IList& convertedList)\r\n   在 System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeInternal(Object o, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject)\r\n   在 System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeMain(Object o, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject)\r\n   在 System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)\r\n   在 System.Web.Script.Serialization.JavaScriptSerializer.Deserialize[T](String input)\r\n   在 System.Web.Script.Services.RestHandler.GetRawParamsFromPostRequest(HttpContext context, JavaScriptSerializer serializer)\r\n   在 System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData methodData, HttpContext context)\r\n   在 System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)",
    "ExceptionType": "System.InvalidOperationException"
}
xiangyueming 2020-08-18
  • 打赏
  • 举报
回复
求大神指点!!!!

110,524

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧