CSharp - 使用 Json.NET 解析时,为什么会出现"Error converting value" 异常

  显示原文与译文双语对照的内容
104 2

我试图从. json 文件中解析数据,并将它们放入一个叫做"跟踪"类的List 中"

类的外观如下:


public class Track
{
 public string Artist { get; set; }
 public string Album { get; set; }
 public string Title { get; set; }
 public int TrackNumber { get; set; }
 public string Filepath { get; set; }
 public int SongLength { get; set; }
 public Color RGB { get; set; }
}

我的代码如下所示:


private void Load()
 {
 using (StreamReader r = new StreamReader("C:UsersSwaggerDesktopTestMusicCacheP.json"))
 {
 string json = r.ReadToEnd();
 List<Track> items = JsonConvert.DeserializeObject<List<Track>>(json);
 MSG(items.Count.ToString());
//MSG is just a function which gives me a messagebox. I'm too lazy to write the full messagebox.show.. ;)
 }

 }

我不知道这是否重要,但下面是一些json代码:


{"Artist":"Dirty South","Album":"Until the End","Title":"Until the End (Michael Brun Mix) [feat. Joe Gil]","TrackNumber":0,"Filepath":"DAVIDIOSOUsershasht_000MusicDirty South - Until the End (Michael Brun Mix) [feat. Joe Gil].mp3","SongLength":21,"RGB":""}

我还没有真正使用Json来完全了解它是如何工作的。 我是那种喜欢通过。 但是如果你有一些好页面可以读取 C# 中的json,我很高兴读到它:

编辑:

我在疯狂我弄不清楚为什么我得到这个异常。

我只得到文件路径的例外。

而疯狂的事情是,我有另外一个文件,它的中包含了,中的所有,我也。 这也很有用。

一个"ghetto"解决方案是读取那些只包含of和用来填充我的跟踪 List的文件? 但把这个整理一下会很好的。 任何帮助都非常有用 ! : )

时间: 原作者:

141 5

在类中定义 RGBColor,而在 json 中定义的是字符串类型。 你可以修改类以具有字符串类型 RGB,然后将该字符串值转换为 Color


public class RootObject
{
 public string Artist { get; set; }
 public string Album { get; set; }
 public string Title { get; set; }
 public int TrackNumber { get; set; }
 public string Filepath { get; set; }
 public int SongLength { get; set; }
 public string RGB { get; set; }//here
}

从json中自动创建类模板 http://json2csharp.com/

原作者:
...