我有一个AJAX调用,它返回了一些像这样的JSON:
while($row= $stmt->fetch()){
echo json_encode(array('model' =>$model ));
}
输出是这个
{"model":"MDX"}{"model":"NSX"}{"model":"RL"}{"model":"TL"}{"model":"TSX"}{"model":"RDX"}{"model":"CSX"}{"model":"ZDX"}{"model":"ILX"}{"model":"RLX"}{"model":"TLX"}
我如何只获取该数组的值?
问题是我需要将该数组转换为纯文本,如
MDX
NSX
RLd
TL
TSX
RDX
etc..
当我收到回调时尝试了此操作,但将我抛出错误
$.ajax({
type:"POST",
url:url,
data:{category_brand:category_brand},
datatype:"json",
contenType: "application/json",
}).done(function(response){
var text=response;
var obj=JSON.parse(text);
console.log(obj);
}).fail(function(jqXHR, textStatus, errorThrown){
console.log(textStatus);
})
这是错误
有人可以帮我吗, json
答案 0 :(得分:1)
将您的json粘贴到一种验证工具(如此处的https://jsonlint.com/)中,然后看看会发生什么。您将得到相同的错误(但用不同的词)。
要将您的json放入数组中,它看起来像这样:
[{"model":"MDX"},{"model":"NSX"},{"model":"RL"},{"model":"TL"},{"model":"TSX"},{"model":"RDX"},{"model":"CSX"},{"model":"ZDX"},{"model":"ILX"},{"model":"RLX"},{"model":"TLX"}]
关键位是[
和,
和]
。
发生的事情是您有多个根,但是JSON仅支持单个根元素。它正在读取{"model":"MDX"}
,并在到达最后一个}
时看到根元素的结尾(即json文档的结尾)。之所以抛出错误,是因为它看到了不该出现的其他东西。
答案 1 :(得分:0)
我解决了!这样
$data=array();
while($row= $stmt->fetch()){
array('model' =>$data[]=$model );
}
echo json_encode($data);
和 js文件
$.ajax({
type:"POST",
url:url,
data:{category_brand:category_brand},
datatype:"json",
contenType: "application/json",
}).done(function(response){
var text=response;
var obj=JSON.parse(text);
console.log(obj);
obj.forEach( function(value, index, array) {
console.log("in the index " + index + " there is this value: " + value);
});