Вот мой пример кода:
string json = "[{Vehicle:BMW With Ethiraj,Date:30 Jul 2013 09:24 AM,Location:Hauz Khas Enclave New Delhi Delhi India, Speed:42}]";
с помощью пользовательского метода
DataTable dt = JsonStringToDataTable (json);
по методу Newtonsoft
DataSet ds = (DataSet)Newtonsoft.Json.JsonConvert.DeserializeObject(json);
Метод JsonStringToDataTable: -
public DataTable JsonStringToDataTable(string jsonString)
{
DataTable dt = new DataTable();
string[] jsonStringArray = Regex.Split(jsonString.Replace("[", "").Replace("]", ""), "},{");
List<string> ColumnsName = new List<string>();
foreach (string jSA in jsonStringArray)
{
string[] jsonStringData = Regex.Split(jSA.Replace("{", "").Replace("}", ""), ",");
foreach (string ColumnsNameData in jsonStringData)
{
try
{
int idx = ColumnsNameData.IndexOf(",");
string ColumnsNameString = ColumnsNameData.Substring(0, idx - 1).Replace("\"", "");
if (!ColumnsName.Contains(ColumnsNameString))
{
ColumnsName.Add(ColumnsNameString);
}
}
catch (Exception ex)
{
throw new Exception(string.Format("Error Parsing Column Name : {0}", ColumnsNameData));
}
}
break;
}
foreach (string AddColumnName in ColumnsName)
{
dt.Columns.Add(AddColumnName);
}
foreach (string jSA in jsonStringArray)
{
string[] RowData = Regex.Split(jSA.Replace("{", "").Replace("}", ""), ",");
DataRow nr = dt.NewRow();
foreach (string rowData in RowData)
{
try
{
int idx = rowData.IndexOf(":");
string RowColumns = rowData.Substring(0, idx - 1).Replace("\"", "");
string RowDataString = rowData.Substring(idx + 1).Replace("\"", "");
nr[RowColumns] = RowDataString;
}
catch (Exception ex)
{
continue;
}
}
dt.Rows.Add(nr);
}
return dt;
}
, но выше обоих методов - ошибка выброса
- Ошибка модели JsonStringToDataTable -> Дополнительная информация: Ошибка синтаксического анализа имени столбца: Транспортное средство: BMW с Ethiraj
- Ошибка модели JSON -> Дополнительная информация: При анализе значения обнаружен непредвиденный символ: B. Путь'[0] .Vehicle', строка 1, позиция 10.
Почему я пытаюсь использовать этот JSON в набор данных, означает необходимость экспортировать Excel, PDF и т. Д. С помощью Jquery-стороны Jjery ajax-метод, который мы отправляемДанные и процессы JSON в Web-методе не зависят от кода C #, а также я пытался экспортировать в Excel с помощью метода jquery, но не поддерживает Internet Explorer, поэтому я пытаюсь сделать это DeserializeObject, так что у всех есть другая идея, пожалуйста, поделитесь