1

我需要一点关于 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"}]}

有人知道我该如何管理吗?谢谢帕特里克

4

0 回答 0