JsonConvert.Deserialize 对象在丢失时创建默认对象

问题描述

我不希望这种情况发生。假设我有一个对象

public struct a {
    public string name;
}

和另一个通用结构

public struct b<T> {
    public T Data;
}

当我收到来自 API 的响应时,b.Data 对象为空 JsonConvert 会在其位置创建一个默认对象。我不想要像发回的 json 一样的对象,也不想要抛出异常。

示例返回的 json 对象

{
    Data: {}
}

在 C# 中使用泛型的序列化看起来像

public static async Task<T> send<T,Y>(Y content,....){
    // CODE HERE DOING HTTP REQUEST FOR JSON RESPONSE
    T returnedContent = JsonConvert.DeserializeObject<T>(jsonString);
}

呼叫的样子

var response = await send<b<a>>(requestObjec);

上面显示的带有空数据对象的json字符串将变成

{
    Data: {
        name: null
    }
}

这不是我想要的。如何防止 JsonConvert 创建默认对象?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...