計(jì)算機(jī)軟考程序員:ASP.NET將數(shù)據(jù)庫里的記錄轉(zhuǎn)換成json

字號(hào):

ASP的版本,考試大一個(gè)項(xiàng)目中正好需要用json來填充下拉框,所以寫了一個(gè)asp.net將數(shù)據(jù)庫里的記錄轉(zhuǎn)換成json,代碼如下:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Data.SqlClient;
    namespace OTC.Utility
    ...{
    public sealed class JSONHelper
    ...{
    /**////
    /// 獲取JSON字符串
    ///
    /// 值
    /// 數(shù)據(jù)表名
    ///
    public static string GetJSON(SqlDataReader drValue, string strTableName)
    ...{
    StringBuilder sb = new StringBuilder();
    sb.AppendLine("{");
    sb.AppendLine(" " + strTableName + ":{");
    sb.AppendLine(" records:[");
    try
    ...{
    while (drValue.Read())
    ...{
    sb.Append(" {");
    for (int i = 0; i < drValue.FieldCount; i++)
    ...{
    sb.AppendFormat(""{0}":"{1}",", drValue.GetName(i), drValue.GetValue(i));
    }
    sb.Remove(sb.ToString().LastIndexOf(’,’), 1);
    sb.AppendLine("},");
    }
    sb.Remove(sb.ToString().LastIndexOf(’,’), 1);
    }
    catch(Exception ex)
    ...{
    throw new Exception(ex.Message);
    }
    finally
    ...{
    drValue.Close();
    }
    sb.AppendLine(" ]");
    sb.AppendLine(" }");
    sb.AppendLine(" };");
    return sb.ToString();
    }
    }
    }
    接下來你只需要傳一個(gè)SqlDataReader對(duì)象就可以了。