我使用C#并创建了一个发送到JSON服务的对象,如下所示:
public class SendRequest
{
public string id { get; set; }
public string case { get; set; }
public string method { get; set; }
public Volume value { get; set; }
}
public class Volume
{
public int level;
public bool mute;
}
我可以在设置子对象时编写提示:
var _req = new SendRequest();
_req.value.mute = false;
_req.value.level = 50;
但是当程序运行时,子对象本身为空(_req.value = null),该对象下的两个项目不显示。
为什么会这样?
答案 0 :(得分:5)
您需要将“值”初始化为某种东西。
将此构造函数添加到SendRequest类:
public SendRequest(){ value = new Volume(); }
答案 1 :(得分:2)
您可以使用object initializers
var _req = new SendRequest()
{
value = new Volume()
{
mute = false,
level = 50,
},
};
答案 2 :(得分:-1)
此时方法为空
public string method { get; set; }
更长但你可以做的是
private string method = string.empty;
public string Method { get {return method;} set {method = value;} }
值只是一个坏名称
private Volume volume = new Volume();
public Volume Volume { get {return volume;} set {volume = value;} }
或
volume = new Volume (mute = false, value.level = 50);