1

我有一个将 json 返回为的 api { "timestamp": 1372741243, "base": "USD" }

我想用这个来称呼它

        HttpResponseMessage response = client.GetAsync("api/latest.json?app_id=your_api_id").Result;
        if (response.IsSuccessStatusCode)
        {
            var curr = response.Content.ReadAsAsync<Currency>().Result;
        }

现在,无法解析 api 中的基数,因为货币类中不能有基数属性,因为基数是关键字。任何克服这个问题的建议。

4

2 回答 2

0

可以拥有一个名为 的属性base,您只需在标识符前加上一个@符号即可。来自C# Language Specification,2.4.2 Identifiers

前缀“@”允许使用关键字作为标识符,这在与其他编程语言交互时很有用。字符 @ 实际上不是标识符的一部分,因此标识符在其他语言中可能被视为普通标识符,没有前缀。带有@ 前缀的标识符称为逐字标识符。

尝试Currency这样声明:

public class Currency
{
    public long timestamp { get; set; }
    public string @base { get; set; }
    ...
}
于 2013-07-02T05:28:35.763 回答
0

尝试在参数名称前添加前缀“@”base

public string @base { get; set; }
于 2013-07-02T05:28:58.130 回答