webapi服务 请求另外一个服务 报json格式错误Additional text encountered after finished reading JSON content

webapi服务 请求另外一个服务 报json格式错误Additional text encountered after finished reading JSON content

问题描述:

各位大佬帮忙看看 , 我自己的webapi服务 请求另外的一个服务的接口 报一个json字符串格式错误的问题 Additional text encountered after finished reading JSON content: ,. Path "", line 1, position 21. 这个字符串是我自己拼接的又没有特殊字符 我用winform程序把json 和 请求方法 一模一样的复制过去 完全没问题

string json = "{\"Header\":{\"SessionID\":\"2021112610381201111234\",\"MachineCode\":\"test0022\",\"CommandType\":\"ProductionLock\"},\"Data\":{\"Lane\":\"0\",\"Reason\":\"测试\"}}";
 try
                {
                    string ss = HttpHelper.CreatePostHttpResponse(url, json);
                    string rs = ss.Substring(ss.IndexOf("\"ReturnCode"));
                    rs = "{" + rs.Substring(0, rs.Length - 1);
                    ret = JsonConvert.DeserializeObject<RetData>(rs)
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }


            /// <summary>  
            /// 创建POST方式的HTTP请求  
            /// </summary>  
            public static string CreatePostHttpResponse(string url, string data)
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "POST";
                request.ContentType = "application/json;charset=utf-8";
                request.ContentLength = Encoding.UTF8.GetByteCount(data);
                Stream myRequestStream = request.GetRequestStream();
                StreamWriter myStreamWriter = new StreamWriter(myRequestStream);
                myStreamWriter.Write(data);
                myStreamWriter.Close();
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream myResponseStream = response.GetResponseStream();
                StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
                string retString = myStreamReader.ReadToEnd();
                myStreamReader.Close();
                myResponseStream.Close();
                return retString;
            }

是请求的接口报这个错误,还是题主在反序列化为RetData时报错?应该是反序列化时出错吧,那应该是rs变量内容有问题,断点看下rs变量有什么内容,或者用IO写入到文件中