在 JSON 的键中分隔 Id 和名称

Separate Id and name in key of JSON

我的数据库中有 JSON 格式的工人数据。看起来像这样

{"45051-Cortador 1 Siloc": "hsgvs", "45063-Nihil impedit quia": "okbbd",}

在这个 JSON 键中包含用户的 ID 和名称,例如在第一个键中 45051 是 ID 并且 Cortador 1 Siloc 是用户名。 我想要密钥的 id,以便我可以使用它,我想在 Laravel Controller(PHP) 中使用它。 谢谢,

这里可以使用split

const obj = {
  "45051-Cortador 1 Siloc": "hsgvs",
  "45063-Nihil impedit quia": "okbbd",
};

const result = Object.keys(obj).map((s) => s.split("-"));

console.log(result);

result.forEach(([k, v]) => console.log(k, v));
/* This is not a part of answer. It is just to give the output fill height. So IGNORE IT */
.as-console-wrapper {
  max-height: 100% !important;
  top: 0;
}

可以使用合集

 $result= collect(json_decode($json))->map(function ($item,$key){

        $data=explode("-",$key);

        return ['id'=>$data[0]??null,'name'=>$data[1]??null];
    })->values()