用于匹配空json值的正则表达式

时间:2017-11-10 09:19:20

标签: php json ajax regex preg-replace

我在PHP上遇到了下一个问题:

我需要使用'[]'而不是空值来获取JSON字符串,因此我需要使用常规表达式来匹配空值并使用preg_replace将它们更改为“[]”。

json的一个例子可能是这样的:

[{"id":"8176","token":"","name":null},...]

我用正则表达式试了这么久但我找不到正确的

结果应该像

[{"id":"8176","token":"[]","name":"[]"},...]

1 个答案:

答案 0 :(得分:-1)

这会将""null替换为"[]"

$re = '/(\"\"|null)/';
$str = '[{"id":"8176","token":"","name":null},...]';
$subst = '\\"\\[\\]\\"';

$result = preg_replace($re, $subst, $str);

echo $result;

https://regex101.com/r/jzYyKE/1/

或者使用str_replace:

$find = array('""', 'null');
$repl = '"[]"';
$str = '[{"id":"8176","token":"","name":null},...]';

$result = str_replace($find, $repl, $str);

echo $result;

https://3v4l.org/Oavhd