1

データをシリアル化する方法の 2 つの異なる例を見つけました。1つはストリームを使用していて、もう1つは使用していませんか?

stream1.Position = 0;
StreamReader sr = new StreamReader(stream1);
Console.Write("JSON form of Person object: ");
Console.WriteLine(sr.ReadToEnd());

MSDN から

   public static string ToJson(this object obj, int recursionDepth = 100)  
    { 
        JavaScriptSerializer serializer = new JavaScriptSerializer(); 
        serializer.RecursionLimit = recursionDepth; 
        return serializer.Serialize(obj); 
    } 

    public static List<T> ToListObject<T>(this string obj, int recursionDepth = 100) 
    { 
        JavaScriptSerializer serializer = new JavaScriptSerializer(); 
        serializer.RecursionLimit = recursionDepth; 
        List<T> returnList = serializer.Deserialize<List<T>>(obj); 
        return returnList; 
    } 

StackOverflow から

追加のステップとして Stream を使用するのはなぜですか?

4

1 に答える 1

1

ファイルやネットワーク ソケットなどのバックエンドと実際に通信していて、データが大きい (つまり、大量のメモリをロードする必要がない) 場合は、ストリームまたはリーダー/ライター API を使用すると便利な場合がありますstring

stringほとんどの AJAX/HTTP シナリオで一般的な、少量のデータを処理する場合は、ベースの API の方が便利です。ほとんどのシリアライザーには、入力/出力として直接公開する APIがないことに注意してください。ただしstring、これは JSON の一般的なシナリオであるため、簡単に行うことができます。

1 つは基本的にもう 1 つの便利なラッパーになります。どちらの方法で実装するかは実装の詳細ですが、主要な内部コードがストリームまたはリーダー/ライターベースであることを願っています (オーバーヘッドなしで大きなドキュメントを可能にするため)。

目的に合わせて使いやすい方をご利用ください。

于 2012-06-05T19:30:04.353 に答える