C#使用DataContractJsonSerializer保存到json文件

时间:2019-05-21 09:57:30

标签: c# .net json serialization datacontractjsonserializer

我想将数据保存到JSON文件中。

使用Internet上的许多示例,我试图做到这一点,但仍然无法正常工作。

[DataContract]
[KnownType(typeof(PressureSensor))]
[KnownType(typeof(TemperatureAndHumiditySensor))]
[KnownType(typeof(HumidityAndPressureSensor))]
class WeatherStation
{
    [DataMember]
    private List<Sensor> sensors = new List<Sensor>();

    [DataMember]
    public double period;

    private void SerialzieToJson()
    {
        DataContractJsonSerializer data = new DataContractJsonSerializer(typeof(WeatherStation));
        MemoryStream memory = new MemoryStream();
        data.WriteObject(memory, this);
        memory.Position = 0;

        using (FileStream stream = new FileStream(@"C:\Users\Adżi\Desktop\files\file.json", FileMode.Open))
        {
            memory.CopyTo(stream);
            stream.Flush();
        }

        memory.Position = 0;
        StreamReader streamReader = new StreamReader(memory);
        Console.WriteLine("JSON: " + streamReader.ReadToEnd());
        streamReader.Close();
        memory.Close(); 
    }
}

我在做什么错?为什么文件中没有保存任何内容?

0 个答案:

没有答案