您的位置:首页 > Web前端 > JavaScript

.net中的类型转换成Json的格式

2010-07-05 20:22 459 查看
代码

/// <summary>
/// json数据帮助类
/// </summary>
public class JsonUtil
{
#region GetJSON
/// <summary>
/// 得到Json数据
/// </summary>
/// <param name="data">数据</param>
/// <returns>String JSON </returns>
public static string GetJSON(object data)
{
StringBuilder sb = new StringBuilder();
PropertyInfo[] propertys = data.GetType().GetProperties();
if (data.GetType().IsGenericType)
{
sb.Append("[");
IList list = data as IList;
for (int i = 0; i < list.Count; i++)
{
sb.Append(GetJSON(list[i]));
if (i < list.Count - 1)
{
sb.Append(",");
}
}
sb.Append("]");
}
else
{
sb.Append("{");
sb.Append("\"");
sb.Append(data.GetType().Name);
sb.Append("\"");
sb.Append(":");
sb.Append("{");
int count = propertys.Length;
for (int i = 0; i < count; i++)
{
sb.Append("\"");
sb.Append(propertys[i].Name);
sb.Append("\"");
sb.Append(":");
switch (propertys[i].PropertyType.Name)
{
case "Int":
case "Double":
case "Decimal":
case "float":
case "long":
sb.Append(propertys[i].GetValue(data, null));
break;
default:
sb.Append("\"");
sb.Append(propertys[i].GetValue(data, null));
sb.Append("\"");
break;
}
if (i < count - 1)
{
sb.Append(",");
}
}
sb.Append("}");
sb.Append("}");
}
return sb.ToString();
}
#endregion
}


这个个人的一个总结,请那位高手有什么补充的,请指教。

这个类只是对一些简单的数据和List集合做了处理,其中的不足。还有待改进。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐