0

.json ファイルからデータを解析して、「Track」というクラスのリストに入れようとしています。

クラスは次のようになります。

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:\Users\Swagger\Desktop\Test\MusicCacheP.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":"\\\\DAVIDIOSO\\Users\\hasht_000\\Music\\Dirty South - Until the End (Michael Brun Mix) [feat. Joe Gil].mp3","SongLength":21,"RGB":""}

私はJsonがどのように機能するかを完全に知るためにJsonをあまり使用していません。私は、やってみるのが好きなタイプです。しかし、C# での json について読むための良いページがあれば、喜んで読んでみたいと思います :)

編集:

私はおかしくなりそうだ!なぜこの例外が発生するのかわかりません..

ファイルパスの例外のみが発生しています。

そしてクレイジーなことは、その中にすべてのファイルパスを含む別のファイルがあり、それもjsonで読んだことです。そして、それはうまくいっています。

「ゲットー」ソリューションは、ファイルパスのみを含むそのファイルを読み取り、それを使用してトラックのリストを埋めることです? しかし、これを整理するといいでしょう..どんな助けでも本当に感謝しています! :)

4

2 に答える 2

2

ですから、自分で答えなければならないのは非常に恥ずかしいと思います。

私が忘れていたのは、ファイルリーダーから文字「p」を削除することでした。そのため、アーティスト、トラック名、アルバム名などではなく、音楽のファイルパスのみを含むファイルを取得しました...

今まで見なかったなんて信じられない!

最初にこの問題が発生してから2〜3日かかりましたが、とても簡単に修正できました..

于 2013-10-09T21:05:48.673 に答える