Saturday 31 May 2014

convert dataset into JSON

public static class myclassGeneral
{
    static object RowsToDictionary(this DataTable table)
    {

        var columns = table.Columns.Cast<DataColumn>().ToArray();

        return table.Rows.Cast<DataRow>().Select(r => columns.ToDictionary(c => c.ColumnName, c => r[c]));

    }

    static Dictionary<string, object> ToDictionary(this DataTable table)
    {

        return new Dictionary<string, object>

   {

       { table.TableName, table.RowsToDictionary() }

   };

    }

    static Dictionary<string, object> ToDictionary(this DataSet data)
    {

        return data.Tables.Cast<DataTable>().ToDictionary(t => t.TableName, t => t.RowsToDictionary());

    }

    public static string GetJSONString(DataTable table)
    {

        JavaScriptSerializer serializer = new JavaScriptSerializer();

        return serializer.Serialize(table.ToDictionary());

    }

    public static string GetJSONString(DataSet data)
    {

        JavaScriptSerializer serializer = new JavaScriptSerializer();

        return serializer.Serialize(data.ToDictionary());

    }
}

No comments:

Post a Comment

रूस-यूक्रेन संकट लाइव: भारतीयों को 'उपलब्ध किसी भी साधन' के माध्यम से कीव को तत्काल छोड़ने के लिए कहा

  रूस यूक्रेन संकट लाइव: कीव में भारतीय दूतावास ने मंगलवार को जारी एक एडवाइजरी में भारतीयों को  'किसी भी उपलब्ध साधन' के माध्यम से क...