[英]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.