向JSON添加缺少的属性

时间:2018-07-23 07:02:17

标签: c#

所以过去几天我一直在研究JSON文件,只是为了了解C#如何操纵JSON。

在将属性添加到JSON文件时,我需要一些帮助。我已经弄清楚了如何通过反复试验来编辑值,但是,我假设它将创建访问值的路径。事实并非如此。

这是我目前在访问值Height和Width方面所做的事情,但是,JSON中没有“ externalSite”“ Weblogin”“ window”路径

string widthBox = Width.Text.ToString();
string heightBox = Height.Text.ToString();

string CustomSizejson = File.ReadAllText(DownloadConfigFilelocation);
JObject CustomSizeobj = JObject.Parse(CustomSizejson);
CustomSizeobj["externalSite"]["webLogin"]["window"] = "height=" + heightBox + ",width=" + widthBox + ",resizable,scrollbars";
string CustomSizenewJson = CustomSizeobj.ToString();
File.WriteAllText(DownloadConfigFilelocation, CustomSizenewJson);

这几乎是我想要完成并将其附加到JSON文件中的

EXPECTED RESULT

有人可以帮我解决这个问题吗? 谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用JObject.Add函数添加属性。示例:

JObject json = new JObject();
json.Add("property_name", "property_value");

如果要添加的对象不完全是对象,而是要在对象的某些属性内添加。 首先,您需要查找属性本身并使用JObject.Add函数。示例:

JObject inner_json = (JObject) json["property_name"];
inner_json.Add("inner_property_name","value");

答案 1 :(得分:0)

您可以尝试以下操作:

var input = new JObject();
input.Add("window", "height=300,width=410,resizable,scrollbars");

var obj = new JObject();
obj.Add("webLogin", input);

var obj1 = new JObject();
obj1.Add("externalSite", obj);

有关更多信息: JObject nested property