1
我有一個JSON文件。在JObject中寫入JArray
{
"time": [
{
"id": "9999",
"name": "Foo",
"subitem": [
{
"name": "Bar",
"id": "99990",
"visible": true,
"subitem": [
{
"id": "999901",
"name": "Flex",
"visible": true
},
{
"name": "Bear",
"id": "999902",
"visible": true
},
{
"name": "James",
"id": "999903",
"visible": true
}
]
},
{
"name": "Smith",
"id": "999966",
"visible": true
},
{
"name": "John",
"id": "999933",
"visible": true
}
],
"visible": true
},
{
"name": "Doe",
"id": "1111",
"visible": true,
"subitem": [
{
"name": "Jack",
"id": "111111",
"visible": true
},
{
"name": "Wilson",
"id": "111188",
"visible": true
},
{
"name": "Andy",
"id": "111144",
"visible": true
},
{
"name": "Gibbs",
"id": "111155",
"visible": true
}
]
}
],
"name": "asdf",
"id": "13",
"visible": true
}
我也有一個JObject和一個方法來獲取所有JSON數據並將其存儲在此對象中。
json1 = ti.GetTimeItems();
我有2個方法在另一個類中寫入JSON文件。數據文件夾是路徑。
public void WriteToJson(JObject obj)
{
string fileName = dataFolder + "json1.json";
WriteToJson(fileName, obj);
}
private void WriteToJson(string fileName, JObject obj)
{
using (StreamWriter file = File.CreateText(fileName))
using (JsonTextWriter writer = new JsonTextWriter(file))
{
obj.WriteTo(writer);
}
}//end WriteToJson
然後,我有一個Windows窗體,我想從2個文本框中獲取文本並將這些文本添加到JSON文件中。
最後我有我的單擊事件
private void button1_Click_1(object sender, EventArgs e)
{
//string json = File.ReadAllText(url);
//JArray time = (JArray)json1.SelectToken("time");
json1.Add(new JObject(
new JProperty("name", textBoxName.Text),
new JProperty("id", textBoxId.Text),
new JProperty("visible", true)));
ti.WriteToJson(json1);
}
我的問題是,我似乎無法寫在JObject陣列「時間」。 我設法寫入文件,但在根中而不是在數組內。 我試過json1.SelectToken(「time」)和很多不同的方法,比如這個http://stackoverflow.com/questions/15413825/how-do-you-add-a-jtoken-to-an-jobject#15782238以及Newtonsoft文檔中的一些方法。
任何幫助appriciated