Manikandan K Ответов: 1

Как творить .JSON файл из datatable in asp.net


Привет всем, я хочу прочитать какой-нибудь метод загрузки (), чтобы получить данные из моей БД и сохранить их в файле .json.. Я прочитал несколько статей в google, но в каждой статье, они создают только объекты json, но в моем случае мне нужно хранить данные в разделять.JSON-файл.- Так что, пожалуйста, помогите..

1 Ответов

Рейтинг:
12

Tejas Vaishnav

Привет Маникандан,

Пожалуйста, используйте этот метод для создания .json-файл из вашей базы данных...

public bool WriteJason(DataTable dt, string path)
        {
            try
            {

                System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
                List<Dictionary<string, string>> rows = new List<Dictionary<string, string>>();
                Dictionary<string, string> row = null;

                foreach (DataRow dr in dt.Rows)
                {
                    row = new Dictionary<string, string>();
                    foreach (DataColumn col in dt.Columns)
                    {
                        row.Add(col.ColumnName.Trim().ToString(), Convert.ToString(dr[col]));
                    }
                    rows.Add(row);
                }
                string jsonstring = serializer.Serialize(rows);

                using (var file = new StreamWriter(path, false))
                {
                    file.Write(jsonstring);
                    file.Close();
                    file.Dispose();
                }
                return true;
            }
            catch { return false; }
        }


и вы можете вызвать эту функцию вот так...

DataTable dt = new DataTable("Student");

dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Columns.Add("RollNo");

for (int i = 0; i < 5; i++)
{
    DataRow dr = dt.NewRow();

    dr["ID"] = i.ToString();
    dr["Name"] = "ABC" + i.ToString();
    dr["RollNo"] = "RN" + i.ToString();
    dt.Rows.Add(dr);
}

dt.AcceptChanges();
string filePath = @"D:\test.json";
WriteJason(dt, filePath);


Tejas Vaishnav

если это решит вашу проблему, то примите мое решение как ответ и не забудьте оценить его

Member 12636915

Он работает на моей машине. В списке появилась какая-то ошибка. Я думаю, что в вашем коде есть какая-то ошибка, пожалуйста, проверьте ее. потому что, как я говорю, ваш код имеет ошибку, в вашем кодировании нет переменной "строки", но вы использовали эту переменную в "строках".Добавить (строку); " эта строка. пожалуйста, ответьте мне.

Tejas Vaishnav

Извините за поздний ответ, но на самом деле, если вы видите весь блок кода, то вы можете увидеть rows переменная объявляется как List<Dictionary<string, string>>.
Пожалуйста, проверьте и дайте мне знать, если у вас все еще есть какие-либо проблемы.