首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GoCardless事件不会反序列化

GoCardless事件不会反序列化
EN

Stack Overflow用户
提问于 2017-07-31 10:43:26
回答 1查看 172关注 0票数 3

我正在尝试实现新的webhooks,但我在处理GoCardless钩子时遇到了问题。

通过以下操作,我阅读了对字符串的响应:

代码语言:javascript
复制
Stream req = Request.InputStream;
req.Seek(0, System.IO.SeekOrigin.Begin);

string requestContent = new StreamReader(req).ReadToEnd();

这给了我一个json的答复如下:

代码语言:javascript
复制
"{\"events\":[{\"id\":\"EV000SDG4B5WRP\",\"created_at\":\"2017-07-31T08:17:16.202Z\",\"resource_type\":\"mandates\",\"action\":\"cancelled\",\"links\":{\"mandate\":\"MD0002010AE1MV\"},\"details\":{\"origin\":\"api\",\"cause\":\"bank_account_closed\",\"description\":\"The customer's account was disabled at your request.\"},\"metadata\":{}}]}"

根据医生的说法,我应该可以

代码语言:javascript
复制
JsonConvert.DeserializeObject<GoCardless.Resources.Event>(requestContent);

但是,这总是给出一个空对象,所有属性都设置为null。

事件类的源代码可以在这里找到:https://github.com/gocardless/gocardless-dotnet/blob/master/GoCardless/Resources/Event.cs

为什么不将其反序列化为对象?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-31 10:47:11

非常肯定的是,JSON是一系列事件。首先,您需要一个根对象:

代码语言:javascript
复制
public class Root
{
    public List<GoCardless.Resources.Event> Events { get; set; }
}

现在反序列化为这种类型:

代码语言:javascript
复制
var events = JsonConvert.DeserializeObject<Root>(requestContent);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45413721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档