如何在C#中动态解析嵌套的Json?

时间:2013-10-14 12:54:21

标签: c# json parsing dynamic

我需要json的帮助,顺便说一句,我正在使用http://dynamicjson.codeplex.com/

我创建了一个名为“Workspace”的表类,其中包含Columns和Rows。 “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"}]}

有人知道如何管理这个吗? 谢谢Patrick

0 个答案:

没有答案