如何在PHP(Laravel)中解析具有多个JSON的文件?
我的输入文件如下所示:如何在PHP(Laravel)中解析具有多个JSON的文件?,php,json,laravel,Php,Json,Laravel,我的输入文件如下所示: {"name": "foo"}{"name": "bar"} $data = '{"name": "foo"}{"name": "bar"}'; $data = str_replace('}{', '},{', $data); $data = '[' . $data . ']'; // Now it's valid // [{"name": "foo"},{"name": "bar"}] 如何解析它?有几种方法可以解析像这样的json对象。。但是你必须知道这个物体
{"name": "foo"}{"name": "bar"}
$data = '{"name": "foo"}{"name": "bar"}';
$data = str_replace('}{', '},{', $data);
$data = '[' . $data . ']';
// Now it's valid
// [{"name": "foo"},{"name": "bar"}]
如何解析它?有几种方法可以解析像这样的json对象。。但是你必须知道这个物体的确切结构 一种方法是迭代每个子项
foreach($jsonObj as $obj)
{
// access my name using
$obj->name;
$obj->someotherfield
// or iterate again .. assuming each object has many more attribute
foreach($obj as $key => $val)
{
//access my key using
$key
// access my value using
$val
}
}
有很多其他方法可以做到这一点。。此外,有效的json类似于
[{“name”:“foo”},{“name”:“bar”}]
如果您确定各个json是有效的,您可以尝试将其转换为json对象数组,如下所示:
{"name": "foo"}{"name": "bar"}
$data = '{"name": "foo"}{"name": "bar"}';
$data = str_replace('}{', '},{', $data);
$data = '[' . $data . ']';
// Now it's valid
// [{"name": "foo"},{"name": "bar"}]
由于}{在JSON中总是无效的,所以可以肯定地说,它不会影响您的数据。不是有效的JSON我知道这一点,但我可以将其转换为有效的JSON并进行解析吗?@pruthvirajchudasamah谢谢@JuhG。就是这样。