1
我正在尝试从API端点反序列化一些JSON数据,并将数据包含在{8: myData}
中。我无法弄清楚如何用第一个被命名为数字的属性来反序列化它。如何使用Json.Net反序列化以数字属性名称开头的json?
例JSON:
{
8:
[
data,
data2,
data3,
data4
]
}
由于JSON数据的第一属性名称我的解串器行失败是8
:
IEnumerable<ApiCombatOverallRank> result = JsonConvert.DeserializeObject<IEnumerable<ApiCombatOverallRank>>(resultsString);
我可以创建匿名类型是这样的:
var anonType = new { data = new List<ApiCombatOverallRank>() };
IEnumerable<ApiCombatOverallRank> result = JsonConvert.DeserializeAnonymousType(resultsString, anonType).data;
但是,它不会反序列化为JSON中的属性名称i s 8
不是data
。 C#不允许我创建一个匿名对象,如:
var anonType = new { 8 = new List<ApiCombatOverallRank>() };
同样,我无法注释添加到像anonomyous对象:
var anonType = new {[JsonProperty(PropertyName = "8")] data = new List<ApiCombatOverallRank>() };
我如何反序列化这个JSON和拿过去第一个JSON对象属性是8
?
据我所知,从JSON验证,这是无效的json。 –