javascript - 使用 JSON.parse 重命名 JSON 字段
问题描述
假设我们有这个 JSON 字符串:
const v = `{"foo":"bar"}`;
有没有办法使用 JSON.parse 配置解析,以便重命名字段,例如将字段名称大写:
const parsed = JSON.parse(v, captitalize);
console.log(parsed); // => {Foo: "bar"}
或某种方式来转换字段名称,具体取决于您正在使用的字段?
解决方案
您可以使用reviver参数在JSON.parse
对象恢复时对其进行修改:
const v = `{"foo":"bar"}`;
const result = JSON.parse(v, (name, value) => {
if (value && typeof value === "object" && !Array.isArray(value)) {
// It's a non-null, non-array object, create a replacement with the keys initially-capped
const newValue = {};
for (const key in value) {
newValue[key.charAt(0).toUpperCase() + key.slice(1)] = value[key];
}
return newValue;
}
return value;
});
console.log(result);
推荐阅读
- android - iOS 相机权限,原生 iOS 权限警报未在第一次请求时触发
- python - 问题,新列中的所有行都更改为上次执行的计算结果
- c - 在C中解密替换密文文件
- excel - 将过滤后的范围放入数组 - ....AutoFilter.Range.SpecialCells(xlCellTypeVisible).Offset(1)
- android - 如何将 Play Store API 调用转换为挂起函数
- c# - 将 DBContext 服务添加到 Worker Project 中的 program.cs
- python - 如何在主框架(tkinter)中绘制其他地方?
- python - 在 6D 最初为空的 numpy 数组中追加深度
- php - 如何允许用户编辑帖子?我正在使用 laravel 8
- node.js - 当我单击注销时,我希望我的会话结束或为空