![](/img/trans.png)
[英]C# JsonConvert.DeserializeObject<dynamic> returns a null object
[英]c# JsonConvert.DeserializeObject returns null with valid json file
我有以下功能:
[HttpPost]
[Route("api/post")]
public void AddFavourite([FromBody]int id) {
var data = GetData(id);
var list = JsonConvert.DeserializeObject<List<VehicleDetail>>(@"C:\FleetStudio\favVehicle.json");
list.Add(data);
var convertedJson = JsonConvert.SerializeObject(list, Formatting.Indented);
}
我的列表為null但是返回以下錯誤:
Newtonsoft.Json.JsonReaderException:'解析值時遇到意外的字符:C。路徑'',第0行,位置0'
我的data.json如下所示(並通過https://jsonlint.com/上的測試)
[
{
"Name": "mocksson",
"Id": 32,
"Alarm": null,
"Signalinfo": null,
"Position": null
}
]
而我的VehicleDetail類如下所示:
public class VehicleDetailsClass
{
public string Name { get; set; }
public int Id { get; set; }
public List<Alarms> Alarm { get; set; }
public List<SignalInfo> Signalinfo { get; set; }
public Position Position { get; set; }
}
我沒有以任何方式看到列表如何為null。 這行代碼沒什么令人興奮的,它仍然可以崩潰。 誰有人知道哪里出錯了?
使用File.ReadAllText
讀你jsonData
從磁盤文件,然后通過jsonData
在參數JsonConvert.DeserializeObject
JsonConvert.DeserializeObject
方法解析json
字符串而不是filePath。
string jsonDATA = File.ReadAllText(@"C:\FleetStudio\favVehicle.json")
var list = JsonConvert.DeserializeObject<List<VehicleDetail>>(jsonDATA);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.