0

我在 ac# 客户端中使用 At WebApi 2.2 OData v4 服务。在服务器端,我将异常包装到Microsoft.Odata.Core.ODataError对象中。

在 Microsoft OData V4 DataServiceClient 客户端中,我在以下代码块中捕获了异常。

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;有没有其他选择?

4

1 回答 1

0

我猜你使用json.NET JsonConvert.DeserializeObject(result, typeof(ODataError))可能会解决你的问题。

于 2016-07-05T13:51:57.313 回答