Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何以json格式编写特定的C属性值?_C#_Json_Wpf_Mvvm - Fatal编程技术网

C# 如何以json格式编写特定的C属性值?

C# 如何以json格式编写特定的C属性值?,c#,json,wpf,mvvm,C#,Json,Wpf,Mvvm,我有一些属性,我想以json格式保存一些特定的属性值。这是我的代码,我想保存两个属性值,如SelectedScaleModel和SelectedScalesPort。有人能帮我吗 public class SetUpViewModel : ViewModelBase { public List<string> ScalesModel { get; set; } = new List<string> { "None", "METTLER-TOLEDO", "DINI

我有一些属性,我想以json格式保存一些特定的属性值。这是我的代码,我想保存两个属性值,如SelectedScaleModel和SelectedScalesPort。有人能帮我吗

public class SetUpViewModel : ViewModelBase
{
    public List<string> ScalesModel { get; set; } = new List<string> { "None", "METTLER-TOLEDO", "DINI ARGEO DFW-DFWK", "ESSAE SI-810" };
    private string _selectedScalesModel;

    public string SelectedScalesModel
    {
        get { return _selectedScalesModel; }
        set
        {
            _selectedScalesModel = value;
            RaisePropertyChanged("SelectedScalesModel");
        }
    }

    public List<string> ScalesPort { get; set; } = new List<string> { "None", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "COM10", "COM11", "COM12", "COM13", "COM14", "COM15" };
    private string _selectedScalesPort;

    public string SelectedScalesPort
    {
        get { return _selectedScalesPort; }
        set
        {
            _selectedScalesPort = value;
            RaisePropertyChanged("SelectedScalesPort");
        }
    }
    string _text1;

    public string BlackLineText
    {
        get { return _text1; }
        set
        {
            _text1 = value;
            RaisePropertyChanged(nameof(BlackLineText));
        }
    }
    public RelayCommand SaveButtonCommand { get; private set; }
    public SetUpViewModel()
    {
        SaveButtonCommand = new RelayCommand(SaveCommand);
    }
    private void SaveCommand()
    {
        SetUpViewModel setUpobj = new SetUpViewModel();
        string strJsonResult = JsonConvert.SerializeObject(setUpobj);
        File.WriteAllText("setup.json", strJsonResult);
        MessageBox.Show("File save in Json Format");
    }
}
您可以尝试按匿名类序列化对象,然后携带expect属性而不是SetUpViewModel对象


使用此选项是因为对象中包含属性信息。

能否解释代码的哪部分存在问题?它似乎将json写入文件。@因为有一个RelayCommand属性,所以它不会保存到json文件,我也不想保存它。我只想保存上面提到的两个属性值,可能是重复的,谢谢你,先生。@ShantoSiddiq没问题,很乐意帮忙
private void SaveCommand()
{
    string strJsonResult = JsonConvert.SerializeObject(
        new {
            SelectedScalesModel = this.SelectedScalesModel,
            SelectedScalesPort = this.SelectedScalesPort
        }
    );
    File.WriteAllText("setup.json", strJsonResult);
    MessageBox.Show("File save in Json Format");
}