Рейтинг:
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>>
.
Пожалуйста, проверьте и дайте мне знать, если у вас все еще есть какие-либо проблемы.