我需要一点关于 json 的帮助,顺便说一句,我正在使用http://dynamicjson.codeplex.com/。
我创建了一个名为“Workspace”的表类,其中包含列和行。“Row”类包含该行中的所有数据作为列表:
class Workspace
{
public string Name { get; set; }
public List<string> ColumnList;
public List<Row> RowList;
}
class Row
{
public List<string> DataList { get; set; }
}
所以我得到的是一个 json 字符串,我必须以数据在工作区中正确填充的方式对其进行解析。到目前为止,我已经得到了这个代码:
public void FillData(string jsonTxt)
{
var objectJson = DynamicJson.Parse(jsonTxt);
foreach (KeyValuePair<string, dynamic> item in objectJson)
{
if (!ColumnList.Contains(item.Key))
{
ColumnList.Add(item.Key);
}
}
var i = 0;
var newRowList = new List<string>();
foreach (KeyValuePair<string, dynamic> item in objectJson)
{
if (i < ColumnList.Count)
{
newRowList.Add(item.Value);
i++;
}
else
{
AddRow(newRowList);
newRowList = null;
i = 0;
}
}
}
public void AddRow(List<string> row)
{
var r = new Row();
foreach (var s in row)
{
r.AddData(s);
}
RowList.Add(r);
}
它工作正常,除了 json-string 是嵌套的。例如一个简单的数组:
{"Ingots":[{"ID":"1","Description":"asdf","Type":"Iron"},{"ID":"2","Description":"asdf2","Type":"Gold"},{"ID":"3","Description":"asdf3","Type":"Diamant"}]}
有人知道我该如何管理吗?谢谢帕特里克