将嵌套和递归结构序列化为带有引用的平面结构

发布于 2025-01-13 00:30:47 字数 571 浏览 0 评论 0原文

澄清:这是一种软件标识(我不知道这里是否允许)
不久前,我看到一个应用程序,它利用 javascript 库将嵌套对象转换为平面对象,如下所示

var a = {
  attr1: "some value",
  attr2: new Date(),
  b: {
    attr1: "some other value",
  }
}
a.b.a = a
transform(a)
/*
[{
  ref: 0,
  attr1: {
    type: "string",
    value: "some value"
  },
  attr2: {
    type: "Date",
    value: "2022-03-09T16:17:03.216Z"
  },
  b: {
    type: "ref",
    value: "1"
  }
 },{
  ref: 1,
  attr1: {
    type: "string",
    value: "some other value"
  },
  b: {
    type: "ref",
    value: "0"
  }
}]
*/

有谁知道这样做的库或标准吗?

clarification: this is a kind of software identification (and I dont know if it is allowed here)
A time ago I saw an app which has made use of a javascript library for transform nested objects into flat one like this

var a = {
  attr1: "some value",
  attr2: new Date(),
  b: {
    attr1: "some other value",
  }
}
a.b.a = a
transform(a)
/*
[{
  ref: 0,
  attr1: {
    type: "string",
    value: "some value"
  },
  attr2: {
    type: "Date",
    value: "2022-03-09T16:17:03.216Z"
  },
  b: {
    type: "ref",
    value: "1"
  }
 },{
  ref: 1,
  attr1: {
    type: "string",
    value: "some other value"
  },
  b: {
    type: "ref",
    value: "0"
  }
}]
*/

Does anyone know of a library or standard for do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文