新手在这里,请原谅。我正在尝试使用此API https://coinmarketcap.com/api/
它显示对象设置如下:
[
{
"id": "bitcoin",
"name": "Bitcoin",
"symbol": "BTC",
"rank": "1",
"price_usd": "573.137",
"price_btc": "1.0",
"24h_volume_usd": "72855700.0",
"market_cap_usd": "9080883500.0",
"available_supply": "15844176.0",
"total_supply": "15844176.0",
"percent_change_1h": "0.04",
"percent_change_24h": "-0.3",
"percent_change_7d": "-0.57",
"last_updated": "1472762067"
}
]
在我的项目中,我有一个班级:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CoinData
{
public class CoinData
{
public decimal rank { get; set; }
public decimal price_usd { get; set; }
public decimal price_btc { get; set; }
public decimal 24h_volume_usd { get; set; }
public decimal market_cap_usd { get; set; }
}
}
它抱怨将'24'作为对象属性名称的开头。但如果这就是API返回它的方式,我怎么能绕过它呢?
“类,结构或接口成员声明中的标记'24'无效。” “h_volume_usd在当前上下文中不存在。”
答案 0 :(得分:6)
C#标识符不能以数字开头。
根据您的JSON序列化程序,您应该能够设置一个属性以将C#属性名称映射到不同的JSON属性名称。