PHP preg_split和替换
发布时间:2020-12-13 17:16:41 所属栏目:PHP教程 来源:网络整理
导读:我目前正在运行此代码.它正在拆分变量$json,其中有},{但它也删除了这些字符,但实际上我需要json_decode函数的尾随和前导括号才能工作.我创造了一个工作,但想知道是否有更优雅的解决方案? ?php$json = '{"a":1,"b":2,"c":3,"d":4,"e":5},{"a":1,"e":5}';$ind
我目前正在运行此代码.它正在拆分变量$json,其中有},{但它也删除了这些字符,但实际上我需要json_decode函数的尾随和前导括号才能工作.我创造了一个工作,但想知道是否有更优雅的解决方案?
<?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5},{"a":1,"e":5}'; $individuals = preg_split('/},{/',$json); $loop_count =1; foreach($individuals as $object){ if($loop_count == 1){$object .='}';} else{$object ="{".$object;} print_r(json_decode($object)); echo '<br />'; $loop_count++; } ?> 编辑:
解决方法
正如你(大概)已经知道的那样,由于逗号和两个对象,你必须开始的字符串是无效的json;它基本上是两个json字符串,它们之间有逗号.
你试图通过拆分来解决这个问题,但是有一个更简单的方法可以解决这个问题: 解决方法只是通过将字符串包装在方括号中将字符串转换为有效的JSON: $json = '[' . $json . ']'; 瞧.该字符串现在是有效的json,只需调用json_decode()即可成功解析. 希望有所帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |