gpt4 book ai didi

xamarin.ios - ServiceStack:新手反序列化 Json

转载 作者:行者123 更新时间:2023-12-04 16:36:55 25 4
gpt4 key购买 nike

我正在编写一个 helloworld MonoTouch 应用程序以使用 ServiceStack 来使用 Json 并有一个两部分相关的问题。

我的测试 json 是:https://raw.github.com/currencybot/open-exchange-rates/master/latest.json

在我的 DTO 对象中,如何使用映射到 json 元素的不同命名属性?

我有这个,而且有效,但我想使用不同的字段名称?

public class Currency
{
public string disclaimer { get; set; }
public string license { get; set; }
public string timestamp { get; set; }
}

我如何从这个 json 添加到我的 DTO 中的 Rates 集合?

"rates": {
"AED": 3.6731,
"AFN": 48.330002,
"ALL": 103.809998,
ETC...

最佳答案

ServiceStack 有一个很棒的 Fluent JSON Parser API,它可以很容易地处理现有模型,而无需使用“Contract”基础序列化。这应该让你开始:

public class Rates {
public double AED { get; set; }
public double AFN { get; set; }
public double ALL { get; set; }
}

public class Currency {
public string disclaimer { get; set; }
public string license { get; set; }
public string timestamp { get; set; }
public Rates CurrencyRates { get; set; }
}

...

var currency = new Currency();
currency.CurrencyRates = JsonObject.Parse(json).ConvertTo(x => new Currency{
disclaimer = x.Get("disclaimer"),
license = x.Get("license"),
timestamp = x.Get("timestamp"),
CurrencyRates = x.Object("rates").ConvertTo(r => new Rates {
AED = x.Get<double>("AED"),
AFN = x.Get<double>("AFN"),
ALL = x.Get<double>("ALL"),
})
});

关于xamarin.ios - ServiceStack:新手反序列化 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9488965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com