[英]Parsing with jquery a JSON string returned by a php script
惠 我有一個由php腳本返回的json字符串(在2個不同的表上有2個不同的mysql查詢):(對不起,這是一個法語應用程序)
[{
"statut":"2",
"0":"2",
"lib_statut":"En cours de traitement",
"1":"En cours de traitement",
"appelant":"GUEDIDER Jacqueline",
"2":"GUEDIDER Jacqueline",
"nom":"Virginie SORREL",
"3":"Virginie SORREL",
"date_creation":"05\/04\/2012 \u00e0 14:14:55",
"4":"05\/04\/2012 \u00e0 14:14:55",
"titre":"FACEO - Plus de message d'attente",
"5":"FACEO - Plus de message d'attente"
},
{
"nom":"Jonathan MORET",
"0":"Jonathan MORET",
"date_inter":"06\/04\/2012 \u00e0 11:18:07",
"1":"06\/04\/2012 \u00e0 11:18:07"
},
{
"nom":"Jonathan MORET",
"0":"Jonathan MORET",
"date_inter":"20\/04\/2012 \u00e0 08:22:53",
"1":"20\/04\/2012 \u00e0 08:22:53"
}]
第一個問題:有人知道為什么每行記錄兩次(第一行帶有索引,第二行帶有列名)嗎?
第二:如何解析我的jquery腳本中的兩個對象?
提前致謝。
我可以肯定地預測,一切都出現兩次的原因是因為創建JSON的人是通過使用不帶$result_type
參數的mysql_fetch_array()
的直接輸出來實現的。 如果使用mysqli_fetch_array()
/ mysqli_result::fetch_array()
則也是如此。
告訴他們(您?)改用mysql_fetch_assoc()
。
實際上,請改用PDO 。
如果這樣做,則不必擔心處理“兩個”對象,因為您只有一個。
對於第一點,可能是因為您使用了不帶第二個參數(MYSQL_ASSOC,MYSQL_BOTH,MYSQL_NUM)的mysql_fetch_array( http://ca.php.net/manual/zh/function.mysql-fetch-array.php )
默認值為MYSQL_BOTH,該函數返回帶有數字鍵AND和select參數的關聯數組。
第二點,您可以使用
$.ajax({
url: url,
dataType: 'json',
data: data,
success: callback
});
第一個問題:有人知道為什么每行記錄兩次(第一行帶有索引,第二行帶有列名)嗎?
也許是錯誤的SQL查詢...;)嚴重的是,如果沒有表結構和查詢,就無法說出原因..;。
第二:如何解析我的jquery腳本中的兩個對象?
我假設您已將JSON分配給Javacript var數據:這是訪問數據的方法:
var datas = "yOURJSONSTRING"; // Replace here your json ...
// then
var firstEl = datas[0];
// Then you can use :
console.log("Statut is : " +firstEl.statut); // consle is for debugging purpose on FF
// then for 2nd and 3rd elements:
var sndEl = datas[1];
var trdtEl = datas[2];
希望這會有所幫助...
問候;
米米茲
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.