1

次のコードを使用して.NETオブジェクトをJSONにシリアル化しようとしましたが、空白のテキストが表示され続けます。私は何が間違っているのですか?

[DataContract]
        public class JsonObject2
        {
            [DataMember(Name = "field1")]
            string field1 { get; set; }
            [DataMember(Name = "field2")]
            string field2 { get; set; }
            [DataMember(Name = "field3")]
            string[] test = { "heshan", "perera" };
        }

オブジェクト、結果のJSON文字列をシリアル化してメッセージボックスに表示しようとしましたが、取得したものはすべて空白です。

MemoryStream s = new MemoryStream();

            DataContractJsonSerializer dcjs2 = new DataContractJsonSerializer((typeof(JsonObject2)));
            JsonObject2 obj2 = new JsonObject2();
            dcjs2.WriteObject(s, obj2);

            StreamReader r = new StreamReader(s);
            String x = r.ReadToEnd();
            MessageBox.Show(x);
4

1 に答える 1

4

追加してみてください:

s.Position = 0;

作成する直前StreamReader.

于 2012-04-22T16:13:13.980 に答える