我從API中拉取數據(不是我的,我無法更改其格式化的方式),然後將其映射到C#列表中,從而遇到了問題。C# - 將JSON值映射到以數字作爲ID的列表
的JSON的小樣品看起來像這樣(有上千個form_values部分記錄和數千條記錄)
JSON示例:
{
"records":[
{
"status":"4",
"version":5,
"form_values":{
"4015":"TextValue",
"5919":"TextValue",
"6127":"TextValue",
"7868":"0",
"q311":"TextValue",
"r83b":"0"
}
}
],
"current_page":1,
"total_pages":1,
"total_count":1,
"per_page":12
}
目前我把將JSON結果轉換爲強類型列表,其代碼如下(This uses Newtonsoft.Json):
C#JSON反序列化到列表
JsonConvert.DeserializeObject<Data>(json_data);
正是在Data.cs,我有問題,因爲C#不會允許一個變量開始與INT類。
我試過了,沒有成功,就是使用Runtime.Serilization DataMember
屬性。
Data.cs
[DataMember(Name = "4015")]
public string textfeild { get; set; }
的問題:
這導致一個空值被設置而不管數據的後面。所有以字母開頭的字段都可以正常工作,所以我相信我的JSON正確地寫入列表中,只需要一個解決這些令人討厭的ID以數字開頭的解決方案!
任何幫助將不勝感激。
也許參考這可以幫助你:HTTP://計算器。com/questions/1207731/how-can-i-deserialize -json-to-a-simple-dictionarystring-string-in-asp-net – rinukkusu
試試這個工具:https://jsonclassgenerator.codeplex.com/與你的JSON生成C#類,然後嘗試反序列化。 – Rocker1985