我試圖向JSON輸出一個ColdFusion查詢,以便它可以與jQuery EasyUI(特別是Datagrid)一起使用。ColdFusion 9,JSON和jQuery EasyUI
從以.json附帶EasyUI這個文件的例子是,他們正在尋找...
{"total":2
, "rows":[
{ "productid":"FI-SW-01"
, "productname":"Koi"
, "unitcost":10.00
, "status":"P"
, "listprice":36.50,"attr1":"Large"
, "itemid":"EST-1"
}
, { "productid":"K9-DL-01"
, "productname":"Dalmation"
, "unitcost":12.00
, "status":"P"
, "listprice":18.50
, "attr1":"Spotted Adult Female"
, "itemid":"EST-10"
}
]
}
格式然而,當我在一個ColdFusion查詢中使用SerializeJSON(emails)
我得到這個:
{ "COLUMNS":["CUSTOMERID","CUSTOMERFIRSTNAME"]
, "DATA":[
[101,"Bhavin"],[102,"Frank"]
]
}
這似乎並沒有被EasyUI識別,所以我想問題是:(1)EasyUI能夠如圖所示識別並使用ColdFusion的輸出,或者(2)有沒有辦法讓ColdFusion輸出JSON採用EasyU中包含的格式我舉例?
更新:
這是什麼樣子,如果我使用serializeQueryByColumns
參數:
{ "ROWCOUNT":83
, "COLUMNS":["CUSTOMERID","CUSTOMERFIRSTNAME"]
, "DATA":{
"CUSTOMERID":[101,102]
,"CUSTOMERFIRSTNAME":["Bhavin","Frank","]
}
}
還沒通過EasyUI承認雖然。在他們的文檔,他們表現出的PHP例子看起來像這樣,所以它的這個輸出,我會試圖使用ColdFusion我想複製:
$rs = mysql_query('select * from users');
$result = array();
while($row = mysql_fetch_object($rs)){
array_push($result, $row);
}
echo json_encode($result);
謝謝!
看起來不像你的查詢有所有你會需要的列!我想說你必須手動創建它,例如你如何期待SerializeJSON()將query.RecordCount添加到'total'中? – duncan
由於您可能需要反覆做這個,我建議將功能包裝到UDF中。一旦你完成了,你也應該考慮將它提交給CFLib.org,因爲可能有其他人可以從你的工作中受益。另一個類似於你的是:http://www.cflib.org/udf/queryConvertForjqGrid – existdissolve
鄧肯,如果我使用serializeQueryByColumns選項,它實際上公開記錄計數,因爲... ROWCOUNT「:2。因此,該功能是能夠 – Bryan