如何使用json.net转换数据表到JSON字符串? [英] How to convert datatable to json string using json.net?
本文介绍了如何使用json.net转换数据表到JSON字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使用数据表转换json.net到JSON?任何建议...我已经下载了必需的二进制文件...我应该使用哪一个类来获得我的数据表转化为JSON?
迄今为止,用这种方法通过将数据表我得到JSON字符串...
公共字符串GetJSONString(DataTable的表)
{
StringBuilder的headStrBuilder =新的StringBuilder(table.Columns.Count * 5); // pre-分配一些空间,默认为16字节
的for(int i = 0; I< table.Columns.Count;我++)
{
headStrBuilder.AppendFormat(\\{0} \\:\\{0} {1}¾\\,table.Columns [I] .Caption,我);
}
headStrBuilder.Remove(headStrBuilder.Length - 1,1); //修剪掉。最后, StringBuilder的SB =新的StringBuilder(table.Rows.Count * 5); // pre-分配一些空间
sb.Append({\\);
sb.Append(table.TableName);
sb.Append(\\:[);
的for(int i = 0; I< table.Rows.Count;我++)
{
字符串tempStr = headStrBuilder.ToString();
sb.Append({);
对于(INT J = 0; J< table.Columns.Count; J ++)
{
table.Rows [I] [J] = table.Rows [I] [J]的ToString()更换(',)。
tempStr = tempStr.Replace(table.Columns [J] + j.ToString()+¾,table.Rows [I] [J]的ToString());
}
sb.Append(tempStr +});
}
sb.Remove(sb.Length - 1,1); //最后的修整,
sb.Append(]});
返回sb.ToString();
}
现在我想用json.net的,但不知道从何处着手....
解决方案
JSON字符串= JsonConvert.SerializeObject(表,Formatting.Indented);
编辑:你不需要缩进格式,当然,只是让漂亮和可读性
How to convert datatable to json using json.net? Any suggestion... I ve downloaded the necessary binaries... Which class should i use to get the conversion of my datatable to json? Thus far used this method to get json string by passing my datatable...
public string GetJSONString(DataTable table)
{
StringBuilder headStrBuilder = new StringBuilder(table.Columns.Count * 5); //pre-allocate some space, default is 16 bytes
for (int i = 0; i < table.Columns.Count; i++)
{
headStrBuilder.AppendFormat("\"{0}\" : \"{0}{1}¾\",", table.Columns[i].Caption, i);
}
headStrBuilder.Remove(headStrBuilder.Length - 1, 1); // trim away last ,
StringBuilder sb = new StringBuilder(table.Rows.Count * 5); //pre-allocate some space
sb.Append("{\"");
sb.Append(table.TableName);
sb.Append("\" : [");
for (int i = 0; i < table.Rows.Count; i++)
{
string tempStr = headStrBuilder.ToString();
sb.Append("{");
for (int j = 0; j < table.Columns.Count; j++)
{
table.Rows[i][j] = table.Rows[i][j].ToString().Replace("'", "");
tempStr = tempStr.Replace(table.Columns[j] + j.ToString() + "¾", table.Rows[i][j].ToString());
}
sb.Append(tempStr + "},");
}
sb.Remove(sb.Length - 1, 1); // trim last ,
sb.Append("]}");
return sb.ToString();
}
Now i thought of using json.net but dont know where to get started....
解决方案
string json = JsonConvert.SerializeObject(table, Formatting.Indented);
Edit: You don't need indented formatting, of course, but it makes it nice and readable.
这篇关于如何使用json.net转换数据表到JSON字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文