c# - 如何以 json 格式编写特定的 C# 属性值?
问题描述
我有一些属性,我想以 json 格式保存一些特定的属性值。这是我的代码,我想保存两个属性值,如 SelectedScalesModel 和 SelectedScales port 谁能帮我解决这个问题。
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");
}
}
解决方案
您可以尝试SerializeObject
通过匿名类然后携带您的期望属性而不是SetUpViewModel
对象。
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
,因为您的对象中的属性信息。
推荐阅读
- c# - 公共交通 - 如何使用 Azure 服务总线安排消息
- docker - 在 Windows 10 上运行 docker-Desktop 系统重启后无法重启容器
- python - 如何将输入连接到函数
- opengl - 在 OpenGL 规范中哪里说 POINT 光栅化被裁剪到视口?
- android - @googlemail.com 帐户无法使用 GoogleSignIn 进行身份验证,但 @gmail.com 帐户可以
- android - Android数据绑定不遵守kotlin的liveData builder
- java - 扩展 lombok 映射
- jquery - 当我们每次都关注输入字段时,如何在移动设备上触发数字键盘?
- ios - 我收到了服务器的回复,我想在进一步使用之前对其进行解码
- windows - 如何使用 PowerShell 将具有多个扩展名的文件集移动到另一个目录?