我有一个AJAX结果,在返回之前在PHP中获得了json_encode($result);
。
最初返回的数据如下所示:
[{"ID":"4066","post_title":"TATTOO SLEEVES"}]
注意它有[]括号!!
然后我会解析JSON数据并使用它。
data = $.parseJSON(data);
但是,我需要返回一个额外的值,所以在返回之前的AJAX钩子中我添加了:
$sql_search["sql_search_count"] = $sql_search_count;
现在突然我的数据会像这样返回:
{"0":{"ID":"4066","post_title":"TATTOO SLEEVES"},"sql_search_count":"1"}
不再[]括号!
我试图分割这些数据;获得" 0"字符串部分,并像以前一样通过$.parseJSON(data);
推送它。但我似乎无法弄清楚如何。
为什么有时候[]括号,有时候没有?
如何获得" 0"在一个带有[]的新变量中的字符串?
我尝试了以下内容:
$sql_search[0]["sql_search_count"] = $sql_search_count;
但这给了我一个错误......
如果我将其更改为 $sql_search[0]->sql_search_count = $sql_search_count;
则可以。
但它不是在顶层,它成为第一个结果的孩子,如下:
[{"ID":"4066","post_title":"TATTOO SLEEVES","sql_search_count","1"}]
答案 0 :(得分:1)
做
$sql_search[0]["sql_search_count"] = $sql_search_count;
在您的PHP代码中,它将像以前一样开始工作。括号缺失的原因是
$sql_search["sql_search_count"] = $sql_search_count;
将要求PHP在sql_search_count
变量中包含一个名为$sql_search
的密钥。由于它是一个数组,它直接不能。它会将其转换为您现在看到的格式。