JSON 键中的分隔 ID 和名称

Posted

技术标签:

【中文标题】JSON 键中的分隔 ID 和名称【英文标题】:Separate Id and name in key of JSON 【发布时间】:2021-09-15 00:48:31 【问题描述】:

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

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

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

【问题讨论】:

。您在寻找 php 或 javascript 解决方案吗?如果 javascript 则将问题更新为 javascript 解决方案 【参考方案1】:

你可以在这里使用拆分

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;

【讨论】:

谢谢。我可以在 Laravel 控制器(PHP)中实现这一点吗?【参考方案2】:

你可以使用收藏

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

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

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

【讨论】:

以上是关于JSON 键中的分隔 ID 和名称的主要内容,如果未能解决你的问题,请参考以下文章

如何从数组中的对象的某些键中提取值

如何在Laravel中查看外键中的表字段

json list格式是怎么样的

如何更改大查询中的字段名称?

使用 Jbuilder 而不是下划线的 json 键中的连字符

JSON语法对象遍历数组的区别和基本操作