【发布时间】:2017-02-03 18:21:06
【问题描述】:
我想将一些 json 响应解析成 php 数组,问题是 nginx 推送流模块响应没有分隔 json 字符串,是否可以在不使用正则表达式的情况下解析它?
'{"id":1,"channel":"1","text":"Hello World!"}{"id":2,"channel":"1","text":"Hello World!"}{"id":2,"channel":"1","text":{"key_x": "value_x"}}'
编辑
真正的问题是 nginx push-stream 模块在流中发送存档,所以这就是为什么我的 sn-p 中的 json 数据之间没有分隔符。
【问题讨论】:
-
json_decode? -
json_decode 返回 null
-
您提供的字符串是无效的 json,所以 .... 是的,
json_decode不太可能返回任何内容。 -
是的,正如我所说,正在寻找解决方案。
-
$json = '[' . str_replace('}{', '},{', $json) . ']';如果您想要一个非常快速和肮脏的解决方案,请注意,如果有任何包含文本}{的字符串,它不能保证工作。并且停止使用任何返回此类数据的东西,这是一个非常糟糕的信号。