Php 多个JSON数据

Php 多个JSON数据,php,jquery,json,ajax,Php,Jquery,Json,Ajax,我检查了每个堆栈溢出解决方案。在ajax请求中,PHP返回JSON数据,但它有多个JSON数据 var json = '[{"key":"amazon"},{"key":"a a"},{"key":"a and w"},{"key":"a aa"},{"key":"a and e"},{"key":"a aa movie"},{"key":"a aa songs"},{"key":"a aa telugu movie"},{"key":"a aa full movie"},{"key":"a a

我检查了每个堆栈溢出解决方案。在ajax请求中,PHP返回JSON数据,但它有多个JSON数据

var json = '[{"key":"amazon"},{"key":"a a"},{"key":"a and w"},{"key":"a aa"},{"key":"a and e"},{"key":"a aa movie"},{"key":"a aa songs"},{"key":"a aa telugu movie"},{"key":"a aa full movie"},{"key":"a and f"}][{"key":"a beautiful mind"},{"key":"a boogie"},{"key":"a bigger splash"},{"key":"a bronx tale"},{"key":"a brief history of time"},{"key":"a bola"},{"key":"a bugs life"},{"key":"a bientot"},{"key":"a bathing ape"},{"key":"a beautiful mess"}]';

          console.log(JSON.parse(json));

          $.each(JSON.parse(json), function(idx, obj) {
               console.log(obj.key);
          });
在var JSON中有两个集合,一个[]和第二个[],这会导致迭代出现问题。如果它只有一个集合[],那么它可以正常工作

PHP代码:

foreach($str as $key => $keyword){
    $finalData[$key]['key'] = $keyword;
}
print_r(json_encode($finalData));
注意:它可能返回超过100个[]的数据,但在上面的示例中,我只提到了两个


请帮帮我。

您试图创建的JSON无效

请在两个[]之间加上另一个[]和逗号。请参阅下面的代码

//示例代码和数据
var json='[{“key”:“amazon”},{“key1”:“amazon1”}],{“key”:“amazon”},{“key1”:“amazon1”}]];

log(JSON.parse(JSON))
您的json字符串根本不是有效的json,因为它只是json数组的串联。你从哪儿弄来的那根绳子?这个特殊的代码需要修复。我添加了有问题的PHP代码,请查看。这不是有问题的完整PHP代码。我敢打赌它在一个循环中的某个地方-您是否也愿意显示代码的这一部分?另外:为什么要使用print_r?仅仅包装它们并没有帮助,他还必须在中间添加一个逗号,他的示例数据不包含$.each(JSON.parse(JSON),function(idx,obj){console.log(obj.key);});idx是一个键,obj是每个数组的当前元素。请像当前对象的console.log(obj)和当前键的console.log(key)一样打印它。@franzgleichman当然,我在回答中提到了,但在我的代码中添加了它。谢谢你提到这件事。