我试图将一个长 JSON 从过程中获取到 C# 中的 STRING 中,但 JSON 在第 255 个字节的中间被截断。 我很乐意收到有关如何完美接收 JSON 的建议。
我尝试通过运行 SQL 过程来获取结果,该过程将长 JSON 返回到字符串中。
我的代码:
var selectQuery = $"exec [dbo].[GetOrderStatus] '{order}' ";
SAPbobsCOM.Recordset ss = SAPConnection.GetInstance().Recordset;
ss.DoQuery(selectQuery);
if (ss.EoF) { return new ResponseData() { Status = StatusE.GanericError, ErrorMessage = $"Error in exec proc, {selectQuery}" }; }
dynamic jsonResult = (ss.Fields.Item(0).Value);
if (!string.IsNullOrEmpty(jsonResult))
{
return new ResponseData() { Status = StatusE.succsed, ErrorMessage = "" , ValueResult =jsonResult};
}
错误似乎出在您的 SP(存储过程)中。
Json被截断为255个字符的原因可能是你从SP返回的变量类型无效造成的,这可能是
VARCHAR
。
VARCHAR
类型的默认限制为 255 个字符,这会导致 json 被截断。
尝试使用
NVARCHAR(MAX)
来代替。