如果对象包含特定变量,是否可以创建新的JProperty?例如:
string object = "var2";
var json = new JObject(
new JProperty("var1", var1),
if (object == "var2")
{
new JProperty("var2", var2)
}
);
任何帮助都将不胜感激。
答案 0 :(得分:9)
是的。
可以选择Add
,而不是在构造函数中声明额外属性
string myStr = "var2";
var json = new JObject(
new JProperty("var1", var1));
if (myStr == "var2")
{
json.Add(new JProperty("var2", var2));
}
答案 1 :(得分:3)
我通常使用Dictionary进行此操作,然后我允许json.net在最后将它拼接在一起:
var temp = new Dictionary<string,object>();
temp["var1"]=var;
if(mystr=="var2"){
temp["var2"] = var2;
}
//serialize the dictionary using JsonConvert method once you're done