【问题标题】:JSON array is returned as single line and goes off screen. Need to split array into each row returned by queryJSON 数组作为单行返回并离开屏幕。需要将数组拆分为查询返回的每一行
【发布时间】:2014-09-09 08:12:01
【问题描述】:

使用以下脚本,我返回了一个 JSON 数组,该数组表示来自数据库查询的 1000 多行。

`echo "<h2>Just an array of rows...</h2>";
foreach ($query->result_array() as $row)
{
$data[] = $row;
}
var_dump(json_encode($data, TRUE));`

但是,返回的数组是单行,在第三行之前离开屏幕,因此丢失了 1000 多条记录。我需要按每一行分隔这个数组(所以在每个右大括号处拆分,例如“}”)。

当前返回的JSON如下:

`'[{"Client_Desc":"Jaguar","Parent_Entity_Name":"Jaguar UK Region D","Entity_Name":"Guy Salmon     Jaguar (Thames     Ditton)","trackbacknumber":"8446628899","external_reference":"C8420","effective_start_date_time":"07\    /25\/2011 20:54:48","effective_end_date_time":"01\/01\/3000 00:00:00"},    {"Client_Desc":"Triumph","Parent_Entity_Name":"South","Entity_Name":"Hughenden M40     Ltd","trackbacknumber":"8446628893","external_reference":"160032","effective_start_date_time":"04\/29    \/2013 07:51:02","effective_end_date_time":"01\/'... (length=295125)`

感谢您的宝贵时间,非常感谢您的帮助!

【问题讨论】:

  • 究竟是什么不起作用?这就是您将数组转换为 JSON 的方式,它是一个 JSON 对象数组(与 PHP 的关联数组数组相同)
  • 你想完成什么? JSON 是对象、数组或其他数据类型的字符串表示形式。您明确地将您的数组转换为 JSON,现在您想将其转换回来?这有什么意义?是否要将 PHP $data 数组传输到客户端以将其作为 javascript 数组进行访问?然后你需要使用 var data = JSON.parse(jsonstr);
  • JSON 输出当前是一条质量线。我希望它除以查询返回的每一行并保持为 JSON。它目前不可读,因为它只是以“...”结尾,我需要所有数据对最终用户都是可读的。我的最终目标是将其包装在 SOAP/WSDL 服务中,但现在只想返回所有数据。这样更好理解吗?

标签: arrays json foreach split


【解决方案1】:
Use json_decode($data, true). This will provide an associative array.

【讨论】:

  • 嗨。我需要将输出保持为 JSON 数组,但目前不适合屏幕,因为它是单行。我希望将这个数组除以查询返回的每一行。谢谢。
  • 有趣。用记事本++打开,然后编辑->自动换行。
  • 我在崇高的文本和自动换行已经设置为自动?
  • 全部由我自己完成。我必须在内容头中指定内容类型,即 application/json。并且还使用了 echo 而不是 var_dump。见下文: header('Content-Type: application/json'); echo(json_encode($data, TRUE));
【解决方案2】:

内容头需要指定为json。这是通过以下方式实现的:

`header('Content-Type: application/json');`

Plus 代替了 var_dump,使用了 echo 来返回整个 json 对象。如下所示:

`echo(json_encode($data, TRUE));`

【讨论】:

  • 如果是字符串,可以回显。当它是一个对象时,使用 var_dump()。您可以使用 print_r() 代替 echo。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-20
  • 2013-02-27
  • 2022-10-05
  • 1970-01-01
  • 1970-01-01
  • 2020-07-16
相关资源
最近更新 更多