反序列化动态返回 Newtonsoft.Json.Linq.JValue 不包含"info"的定义



我有返回以下内容的 RESTful 端点:

{"error_msg": "{'status': 1, 'info': "Operation is not allowed on 'XXX, ['YYY']'", 'key': 'ZZZZ', 'extra': 'None', 'data': {}, 'EEEE': False}"}

上面的一些文字被替换了(XXX,ZZZ等(。

我的代码如下:

dynamic response = JsonConvert.DeserializeObject(new StreamReader(ex.Response.GetResponseStream()).ReadToEnd());
Console.Error.WriteLine(response.error_msg.info);

构建运行代码后,出现以下错误:

Newtonsoft.Json.Linq.JValue' 不包含"info"的定义

知道如何解决这个问题吗?

谢谢

这是因为这里的error_msg是一个字符串,而不是一个对象。要么让它不是字符串,要么反序列化两次,即取出string error_msg,然后反序列化该字符串

相关内容

最新更新