最近我工作中使用JSON的一個項目,我有兩種方法來從數據庫中獲得數據,方便我用JSON字符串的JavaScript,SQL VS前端處理
首先
是做處理數據庫,形成一個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#)
+1:這種方法保持層中的應用*分離(不做在數據層格式,如果你能避免它)*,並建議管理,格式化的明確和維護的方式。簡而言之,它是選項2,整潔。 – MatBailie 2012-08-04 13:41:12