我正在c#客户端中使用At WebApi 2.2 OData v4服务。在服务器端,我将异常包装到Microsoft.Odata.Core.ODataError
对象中。
在 OData V4 数据服务客户端Microsoft中,我在以下代码块中捕获异常。
try
{
//Post message to server
}
catch (DataServiceClientException ex)
{
string result = ex.Message;
ODataError error = JsonConvert.DeserializeObject(result) as ODataError;
}
在这里,我得到了error
对象的空值。但是,result
对象具有以下字符串值Json
。
{
"error":{
"code":"Custom Error","message":"The INSERT statement conflicted with the FOREIGN KEY constraint...."
}
}
问题:如何将Json
字符串转换为ODataError
对象?我的要求是从字符串上方读取消息属性Json
例如var errmsg = error.message;
还有其他选择吗?
我猜你使用 json.NET JsonConvert.DeserializeObject(result, typeof(ODataError))
可能会解决你的问题。