将.NET对象序列化为JSON

时间:2012-04-22 15:56:42

标签: c# .net json serialization

我尝试使用以下代码将.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);

1 个答案:

答案 0 :(得分:4)

尝试添加:

s.Position = 0;

在您创建StreamReader.

之前