【问题标题】:Regular expression for matching empty json values匹配空 json 值的正则表达式
【发布时间】:2018-04-23 11:30:47
【问题描述】:

我在 PHP 上有下一个问题:

我需要得到一个带有 '[]' 而不是空值的 JSON 字符串,所以我需要一个正则表达式来匹配空值并使用 preg_replace 将它们更改为 '[]'。

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

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

我用正则表达式尝试了很长时间,但我找不到正确的表达式

结果应该是这样的

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

【问题讨论】:

  • 在 php 中还是在 jQuery 中?
  • PHP,我刚刚指定了这个,很抱歉造成混乱
  • 当PHP有json_decode时,为什么还要使用正则表达式来处理JSON?
  • 因为最初我有一个 php 对象数组,但我没有得到将空值更改为 '[]' 的线索,所以我认为用 json 来做会更容易,我也必须返回一个json
  • 喜欢这个? regex101.com/r/jzYyKE/1

标签: php json ajax regex preg-replace


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 2017-05-09
    • 1970-01-01
    相关资源
    最近更新 更多