在 json 字符串化数组对象时排除对象属性

2024-02-28

嘿我有一个像这样的数组对象

[{
    public: "public",
    private: "private",
    [{
        properties: {...
        },
        instance: {.....
        }
    }, {...
    }, {...
    }]
}, {...
}, {....
}]

这里最外面的数组包含 A 类的对象,它有一些公共 props,一些私有 porps,它还包含一个包含 B 类对象的数组,它还包含一些公共和私有字段。

所以基本上这就是我的层次结构

array = [A1,A2,A3,A4,....]//object of A

var A = function(){
  var Const = function(){
    this.public_prop;
    this.private_prop;
    this.list = [B1,B2,B3,B4]// objects of B
  }
 //.........
 return Const;
}();

var B = function(){

  var Const = function(){
   this.public_prop;
   this.private_prop;
  }
 //.........
 return Const;
}();

现在,在对其进行字符串化(序列化)时,我只想在序列化字符串中包含公共属性和数组。

例如对于上面的 JSON 表示我想要这样的东西

[{
        public: "public",
        [{
            properties: {...
            }
        }, {...
        }, {...
        }]
    }, {...
    }, {....
    }]

现在我可以创建一个函数每个类中的 getState()它只会返回需要字符串化的字段,但我似乎无法找到一种方法使 JSON.stringify 的本机实现在序列化之前调用该方法。有什么方法可以实现这一点吗?

我提到隐藏 JSON.stringify() 输出中的某些值 https://stackoverflow.com/questions/4910567/json-stringify-how-to-exclude-certain-fields-from-the-json-string,但它只解释了如何排除单个层次结构中的简单数字或字符串道具,但如何排除多个层次结构中的道具?

注意:我的所有课程都遵循模块模式


var result = JSON.stringify(myjson, function(key, val) {
    if (key !== "private")
        return val;
});

顶部的对象示例不是有效的语法,但要排除名为的属性"private",这应该有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 json 字符串化数组对象时排除对象属性 的相关文章

  • 在 javascript、jQuery 或 css 中,如何让 div 或 iframe 展开以填充其余空间

    我有三个 iframe 我将顶部 iframe 设置为 50px 高度 将底部 iframe 设置为 50px 但我希望中间 iframe 扩展以填充其余空间 有没有一种技术可以用来对任何窗口屏幕尺寸执行此操作 谢谢 example
  • 如何在 JSON 中转义双引号

    我试图显示双引号 但它显示了反斜杠之一 maingame day1 text1 Tag 1 text2 Heute startet unsere Rundreise Example text Jeden Tag wird ein neues
  • 打开 md-calendar 时滚动到当前日期

    目前正在构建一个使用 Angular Material 的应用程序 我们需要一个 md calendar 组件 我们想要自定义按钮样式和内容 因此不使用普通的 md datepicker 问题是 当 md calender 打开时 滚动位置
  • 限制可选 DOM 复选框

    我试图限制用户可以选择的复选框数量 这些复选框是为数组中的每个项目生成的 DOM 输入对象 我目前对此没有运气 因此非常感谢任何帮助 谢谢 在这里小提琴 http jsfiddle net vVxM2 222 http jsfiddle n
  • 如何导入和导出 javascript ES6 类

    我是 javascript 和 nodejs 的新手 我正在使用这个项目来发展我的技能并学习新技术 目前我的项目使用多个相互依赖的类 类文件位于不同的目录中 我当前正在尝试使用 export 和 require 语句来允许在其他文件中引用类
  • 以一定时间间隔连续重复运行 JavaScript 函数

    这是我的第一个问题 希望您尽快回答 我想要代码连续重复一个函数 我尝试了一些代码 但没有成功 我尝试了这段代码 我想在一段时间后重复这个功能 我努力了setInterval and setTimeout 但是 我还没有收到结果 这将重复该任
  • javascript jquery 使用脚本更改脚本的src

    我有一个 JavaScript 脚本 它有一个 src 元素 这个 src 是一个 url 我想使用 javascript 更改它 一次更改为其他内容 或者动态创建它 使用 javascript jquery 动态创建脚本元素的最佳方法是什
  • 搜索深度嵌套数组以更新对象

    我有一个深层嵌套的数据结构 我有兴趣匹配数组 和数组数组 中的某个值 然后将一些数据推送到随附的数组中 例如以下是我的数组colors并伴随着的是更多颜色数组可能存在也可能不存在 var myData color green moreCol
  • 将文本大小调整为矩形 在 Canvas HTML5 中调整大小

    我是 Canvas 新手 我正在创建一个网站 以在调整矩形大小时增加文本 我尝试了很多 但没有任何效果 实际上 我希望如果我仅按其宽度调整矩形大小 向左拉伸 向右拉伸 则仅应增加文本宽度而不是字体大小 我已经完成了字体大小 但发现增加孤立文
  • 如何使用 Angular JS 单击时将 html 模板附加到 div/指令?

    我有这种情况
  • 如何从 JSON 响应重定向?

    所以我尝试使用 Flask 和 Javascript 上传器 Dropzone 上传文件并在上传完成后重定向 文件上传正常 但在烧瓶中使用传统的重定向 return redirect http somesite com 不执行任何操作 页面
  • 为什么 Web Worker 性能在 30 秒后急剧下降?

    我正在尝试提高在网络工作人员中执行时脚本的性能 它旨在解析浏览器中的大型文本文件而不会崩溃 一切都运行得很好 但我注意到使用网络工作者时大文件的性能存在严重差异 于是我做了一个简单的实验 我在同一输入上运行脚本两次 第一次运行在页面的主线程
  • 在管道中重用变量的功能方式

    在 javascript 和 typescript 中与 Ramda 一起使用函数式编程 我经常发现自己编写如下代码 const myFun c gt const myId c id const value pipe getAnotherO
  • 如何检测元素内容何时发生变化

    我正在寻找一种方法来监视元素内动态填充 无页面重新加载 内容 以便我可以将类添加到另一个元素 到目前为止我有这个 HTML div class message container div class messages error span
  • 如何使用 vanilla JS 实现可维护的反应式 UI

    今天我遇到了一个问题 可以通过使用像 Vue 这样的反应式和状态管理框架来轻松解决 遗憾的是 无法使用它 以下 简化 情况 链接到代码笔 https codepen io theiaz pen BazErKV 我们有一个服务器渲染的页面 其
  • 获取点击的的DOM路径

    HTML div class lol a class rightArrow href a div 伪代码 rightArrow click function rightArrowParents this dom dom is the pse
  • 如何在 ASP.NET MVC 3 的 Razor 视图中编码嵌入的 javascript?

    如何在以下上下文中正确编码 JavaScript 我的 JSON 对象中的值是由应用程序管理员设置的 因此我假设它们需要正确编码 对于 HTML 和 JavaScript 都是如此 我在用着System Web Script Seriali
  • Ember Data 中出现“超出最大调用堆栈大小”错误的原因可能是什么?

    Ember 发布新版本 3 6 0 后 我开始在控制台中收到错误 rsvp js 24 未捕获 RangeError 超出最大调用堆栈大小 在 WeakMap get 在 getCacheFor metal js 25 在 Computed
  • 从 DirectionsRenderer 中获取折线或标记的事件

    我正在使用 DirectionsService 和路线方法来生成 DirectionsResult 我还使用 DirectionsRenderer 对象来显示结果 因为它非常易于使用 我在检测 Directions changed 事件时没
  • 在 HTML5 iOS 7 / iOS 8 中显示十进制键盘

    经过几个小时的搜索后 我只是有一个简单的问题 是否有可能在网络浏览器输入字段中显示小数键盘 input type number 只显示数字 但我需要在左下角使用逗号或点 我尝试过任何事情 pattern step等等 但没有显示十进制键盘

随机推荐

  • css 代码不适用于 ionic 2 中的按钮

    一般来说 我对离子和混合应用程序很陌生 在插入和使用奶嘴应用程序时 我没有看到任何 CSS 工作 我究竟做错了什么 这是我的文件 测试 scss test button inner width 20 important margin 30p
  • 使用 reshape2 将两组柱从宽形式熔化为长形式[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下方法将时变预测器添加到长格式数据帧中reshape2 melt但我想知道是否有更快的方法 这是广泛形式的玩具数据 在不同访问 时间点采取三种结果变量测量 会话 1 会话 2 和会话 3 对于每个
  • Mongoose 自定义密码验证

    我正在尝试使用猫鼬制作架构 并陷入如何对密码应用自定义验证的问题 其中密码包含 一个特殊字符 密码应包含 1 个小写字母和 1 个大写字母 密码长度应大于6 这是架构 const mongoose require db mongoose c
  • 在 WebKit 上的 Mac OS 应用程序中启用 WebGL

    我正在为 Mac OS 编写一个应用程序 WebKit 上的浏览 器 用于 WebGL 上的某些网站 一切准备就绪 应用程序可以正确显示正常的 HTML 站点 但 WebGL 不起作用 如何在我的应用程序中启用 WebGL 一旦有了 Web
  • mvn archetype:generate 和 mvn archetype:create 之间有什么区别

    这两者有什么区别吗 archetype create是旧的且已弃用的形式 需要在启动时定义所有属性 而archetype generate是更新 更舒适的方式 archetype generate 了解列出原型的目录 并可以询问您缺少的属性
  • 当两个链接的 static_cast 可以完成它的工作时,为什么我们在 C++ 中需要 reinterpret_cast 呢?

    说我想投A to char 反之亦然 我们有两种选择 我的意思是 我们很多人认为我们有两种选择 because两者似乎都有效 因此造成混乱 struct A int age char name 128 A a char buffer sta
  • 解析错误:“导入”和“导出”可能仅与“sourceType:模块”一起出现

    我目前正在使用 Google Cloud Functions 和 Firestore 但是当我尝试从父文档获取数据时遇到了问题 我在互联网上搜索了这个问题 但似乎建议的修复方法都不适合我 以下是我尝试部署时在终端中得到的内容 Users m
  • 使用 Let 加密的多个子域

    我有一条有吸引力的消息 表明不幸的是不可能为多个子域生成证书 Wildcard domains are not supported mynewsiteweb com 另一方面 可以为每个子域逐一生成它 有更好的解决方案吗 谢谢 Edit 现
  • Android ConstraintLayout 中的 z 顺序有问题

    我正在尝试使用设计一个注册屏幕ConstraintLayout除了 Z 顺序之外 一切都很顺利 当用户单击 注册 时 我需要在所有内容之上显示一个 FrameLayout 但它不起作用 请检查屏幕截图
  • 继承:限制而不是扩展? [复制]

    这个问题在这里已经有答案了 假设您有一个 UIView 子类 您定义一个 init 方法 myInitWithFrame andWhatNot 你知道你不会使用从 UIView 继承的 init 方法ever并且您的自定义 init 方法会
  • 什么是高通和低通滤波器?

    图形和音频编辑处理软件通常包含称为 高通滤波器 和 低通滤波器 的功能 它们到底有什么作用 以及实现它们的算法是什么 以下是使用卷积实现低通滤波器的方法 double signal some 1d signal double filter
  • 使用 Flask 调用 connection.commit() 后 MySQL 未更新(工作中)

    我正在使用 Flask 构建一个简单的 Web 应用程序 但无论出于何种原因 conn commit 都没有将数据提交到数据库中 我知道这一点是因为当我手动向数据库添加某些内容时 数据不会更改 但每次测试时 ID 部分都会增加 因为它使用自
  • 反应本机路由器 Actions.SCENE 不执行任何操作

    我正在向我的应用程序添加一个简单的登录屏幕 但一旦用户通过身份验证 我将无法调用 Actions home 我有一个按钮 按下该按钮时 会调用一个函数来连接到服务器并获取身份验证状态 成功后 我会调用 Actions home 但什么也没发
  • HTML 脚本标签放置?

    每隔一段时间我就会听说要放置 HTML
  • 为什么从 sqlalchemy 调用的存储过程不起作用,但从工作台调用却起作用?

    我有一个存储过程 通过 MySQL Workbench 调用它 如下工作 CALL lobdcapi escalatelobalarm A0001 但不是来自 python 程序 意味着它不会抛出任何异常 进程默默地完成执行 如果我在列名中
  • 如何在 Grails 集成测试中制作两个内容不同的帖子

    我正在测试一个控制器 我无法发表两个内容不同的帖子 下面是一个示例 其中我使用一些数据 post1 使用 json1 执行到 cardController 的发布 然后 我使用不同的数据执行另一篇文章 post2 和 json2 但我无法成
  • 鼠标悬停时出现棘手的延迟

    这就是我目前所拥有的 cart summary mouseenter function flycart delay 500 slideDown fast flycart mouseleave function flycart delay 5
  • SQL Server 查询:使用 JOIN 包含 NULL 值

    我需要有关以下 SQL Server 查询的帮助 其中列 a TAProfileID 和 c CountryCode 在数据库中具有 NULL 值 我希望我的 JOIN 语句返回 NULL 值 如果存在 SELECT a Reservati
  • 比较表中的行对

    我可以在比较同一个表中的行的查询上使用一些补救帮助 我正在修改我们的代码以推送到 Postgres 并建立了一个测试床来使用我们的旧代码和新代码进行推送 行数很好 但这并不能告诉我数据是否相同 为此 我意识到我可以使用内置功能来获取行的哈希
  • 在 json 字符串化数组对象时排除对象属性

    嘿我有一个像这样的数组对象 public public private private properties instance 这里最外面的数组包含 A 类的对象 它有一些公共 props 一些私有 porps 它还包含一个包含 B 类对象