php如何优雅的处理api中npe的问题

跟java对接api。java那边序列化后有些为空的字段就直接不存在json内。比如有值的情况

  {
      "data":{
          "type":"xxx",
          "title":"xxx",
          "child":{
              "type":"xxx",
              "title":"xxx",
          }
       },
       "result":"success"
  }

没有值的情况:

{
  "result":"success"
}

没有指定情况下连data丢不存。如何优雅的处理这种npe问题,网上找不到json转实体类php的工具。

最佳答案

json_decode 后再包装一层,判断是否有 data ,没有就给填充一个 NULL 就不好了

$json = json_decode($resp, true);
$json['data'] = $json['data'] ?? null;
var_dump($data);