ホーム>source

いくつかのプロパティがあり、特定のプロパティ値をjson形式で保存したいのですが、これが私のコードであり、SelectedScalesModelやSelectedScalesポートのような2つのプロパティ値を保存したいです。

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");
    }
}

あなたの答え
  • 解決した方法 # 1

    SerializeObject を試すことができます  匿名クラスによって、 SetUpViewModel の代わりにexpectプロパティを保持します  オブジェクト。

    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");
    }
    
    

    注意

    this を使用する  オブジェクトのプロパティ情報だからです。

関連記事

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ keys and Values output - キーと値の出力:Pythonコレクション