【发布时间】:2018-02-14 14:28:26
【问题描述】:
在 VB.Net 应用程序(.Net Framework 的 v4.0)中,我正在调用返回以下内容的 API:
{"CFResponse":{"AccountDetails":[{"AccountNum":"TEST","CurrentBalance":-58.24,"OriginalBalance":1530.01,"TotalPaid":215.33}]}}
我还有一个变量 (userInfo),其中包含一个 GetUserInfoResult.vb 的实例,该实例具有一系列来自先前逻辑的设置属性。
将 JSON 数据映射到我的实例上的属性的干净方法是什么?
CurrentBalance > userInfo.Balances.CurrentBalance
OriginalBalance > userInfo.Balances.OriginalBalance
TotalPaid > userInfo.Balances.TotalPaid
【问题讨论】:
-
或this 或this maybe 或者如果你不介意转换然后this
-
@AFriend 如果我使用
JsonConvert.DeserializeObject(Of GetUserInfoResult)(jsonString),我不会丢失已经设置的其他属性吗?或者你是说我应该创建一个精确映射到 JSON 结构的Dto类?但是如果我这样做,它似乎很乏味,因为当我只需要它们三个属性时,返回的 JSON 非常混乱! -
你可以反序列化到一个临时对象,设置你需要的3个属性,然后去掉临时的。此外,只要属性名称匹配,您就不需要 JSON 属性来正确反序列化
-
嗯,你能告诉我如何回答吗?