我所拥有的是一个JSON格式的REST响应,看起来像这样:{ "guid": "c75d06a8-a705-48ec-b6b3-9076becf20f4" }
反序列化JSON对象转换类型的System.Guid
当尝试反序列化这个效应初探字符串转换类型的对象的System.Guid这样的:Newtonsoft.Json.JsonConvert.DeserializeObject(response.content, type);
,以下抛出异常:
无法反序列化当前JSON对象(例如{“名称”:“值”})成型“System.Nullable`1 [的System.Guid]”,因为类型要求JSON原始值(例如,字符串,数字,布尔值,空值)以正确反序列化。 要修复此错误,请将JSON更改为JSON原始值(例如,字符串,数字,布尔值,空值)或更改反序列化类型,以使其成为正常的.NET类型(例如,不是像整数这样的基本类型,也不是集合类型如数组或列表),可以从JSON对象反序列化。 JsonObjectAttribute也可以添加到类型中,以强制它从JSON对象反序列化。 Path'guid',line 1,position 8.
任何帮助表示赞赏!
错误告诉你为什么它不工作:你试图反序列化' {“guid”:“guid”}作为“Guid”。 'Guid'类型没有'guid'属性。反序列化对象,然后将'guid'属性的*值*反序列化为'Guid'。 –
您可以从字符串值创建新的GUID,如错误指示。当你提取这个字符串时,试试'new Guid(myGuidString)' – Sal