最近我在做一个使用 JSON 的项目,我有两种方法可以从数据库中获取数据,以方便我的 JavaScript 使用 Json 字符串,
第一的
就是在数据库中做处理形成一个Json字符串,像这样
select
ID,
'{ "Comments": ['+
Substring(
(SELECT
',{ '+
'"Comment" : "' + REPLACE(Comments,'"','\"') + '",'+
'"Name" : "' + REPLACE(Name,'"','\"') +
'}'
FROM JsonTbl
where JsonTbl.ID = tbl.ID
for xml path('')
),2,250000)
+'] }' as JsonData
from tbl
第二
就是从数据库中选择数据不做任何处理,在前端做一个Json字符串创建的处理,像这样
DataTable data = GetDataFromDatabase();
StringBuilder sb = new StringBuilder();
sb.Append("{ \"Comments\": [");
for (int i = 0; i < data.Rows.Count; i++)
{
sb.Append("{");
sb.Append("\"Comment\" : \"" + data.Rows[i]["Comment"].ToString().Replace('"', '\"') + "\",");
sb.Append("\"Name\" : \"" + data.Rows[i]["Comment"].ToString().Replace('"', '\"') + "\"");
sb.Append("},");
}
sb.Remove(sb.Length - 1, 1);
我想知道从性能和维护的角度来看哪一个会更好。
注意:请考虑我已经修剪了代码以在此处发布原始代码比这大得多,并且我使用的是 MSSQL 2008 和 .Net(C#)