原谅肯定是一个愚蠢的问题,但我刚开始用C#使用JSON。
我有这堂课:
public class DBCount
{
public string Count { get; set; }
}
我创建了一个实例:
public DBCount dbCount;
我的网络服务正在返回:
[{ “计数”: “234”}]
此代码在尝试反序列化响应时抛出无效的强制转换:
var client = new RestClient("http://www.../")
var request = new RestRequest ("demo/jsondbcount.php",Method.GET);
request.RequestFormat = DataFormat.Json;
var response = client.Execute (request);
RestSharp.Deserializers.JsonDeserializer deserialCount = new JsonDeserializer();
dbCount = deserialCount.Deserialize<DBCount> (response);
这是无效的强制转换错误:
“无法从源类型转换为目标类型”
如果有人能指出我使用RestSharp
反序列化一个简单对象的基本简单例子,我将非常感激。我到处搜索了一个基本的代码示例。
由于
答案 0 :(得分:1)
您可能已经想到了这一点,但问题是[]
。 [{"Count":"234"}]
是一个大小为1的数组,其中包含一个字段为Count
的对象。
如果您希望服务器返回一个将反序列化为DBCount
的对象,则在没有{"Count":"234"}
的情况下返回[]
。
如果您希望代码正确反序列化[{"Count":"234"}]
,那么您需要表明它正在反序列化集合,如下所示:
deserialCount.Deserialize<List<DBCount>>(response);