我找了一個很好的數據結構的表看起來就像這樣:C#尋找用於JSON數據的靈活數據結構
Name | ID | Time | A3 | A2 | D6 | L4 | H1 | ...
Peter 01 11:01 1 4 8 1 ...
James 02 11:37 7 5 2 2 ...
....
的名稱,ID和時間值的「手動」給予我的工具,所有列之後(「A3」,「A2」,...)從一個JSON字符串來像
{"A3":"7","D6":"5",...}
我的問題IST,這些JSON值可以有任何名字,我就不說了知道哪些人會產生哪些值(樣本中,詹姆斯沒有爲A2的值)。
哪種類型/結構最適合存儲這些變量組合?
當然應該是「易」,以增加新的線路,如果新的價值觀「到達」。而且我也希望以後這種結構寫入到CSV,但在這裏,這不是問題。
我嘗試了很多,但是沒有設法創建任何易於處理的東西。
在此先感謝!
編輯:我終於用兩個答案的組合:
public class ResultData
{
public string currentName { get; set; }
public string currentID { get; set; }
public DateTime currentTimestamp { get; set; }
public DataTable results { get; set; }
public ResultData()
{
results = new DataTable();
// must have columns
results.Columns.Add("Name", typeof(string));
results.Columns.Add("ID", typeof(string));
results.Columns.Add("Timestamp", typeof(DateTime));
}
public void AddResult(Dictionary<string, string> resultVars)
{
// TODO: check if person is already in list
DataRow dr = results.NewRow();
// add basics
dr["Name"] = currentName;
dr["ID"] = currentID;
dr["Timestamp"] = currentTimestamp;
// check columns
foreach (var varName in resultVars)
{
// add column if needed
if (!results.Columns.Contains(varName.Key))
{
results.Columns.Add(varName.Key);
}
// add values
dr[varName.Key] = varName.Value;
}
//finally add row
results.Rows.Add(dr);
}
}
工作對我很好! :-)