0

我将使用 JSON 对对象的属性值进行字符串化,以便通过 Google Apps 脚本将其存储为 Google 日历上的标签。该值实际上是一个双重嵌套的Object(参见extraAttributes参考资料myObject)。

我有一个如下构建的对象:

var myObject = {
  "location": "somwehere",
  "date": new Date(),
  "numSomething": 20,
  "extraAttributes": {"used": true, "interval": 60, "internals": {"timer": 10, "visible": false} }
}

我试图让它变得漂亮和可读......无论如何:myObject 实际上有 20-40 个属性,其中一些是嵌套的Objects。那么问题来了:

有没有办法通知 Object 中的属性值是否是对象本身(额外的嵌套级别是否会成为此检测的问题?)?这背后的原因是我不知道如何JSON.stringify以及JSON.parse将如何影响其他数据(我已经在 Object 类型的一个特定值上对其进行了测试,并且效果很好),而且我不知道多少如果存储的属性达到 20-40,这两个函数将对我的脚本产生性能影响。

我宁愿检查该值是否为 Object 并仅将其字符串化(这也会效率低下吗?)。如果这会在未来引起重大问题,请随时向我介绍对象和嵌套;)

4

2 回答 2

1

检查某物是否是对象而不是使用的另一种方法typeof(在某些情况下可能会产生误导 - 例如typeof [] === 'object')是使用 Object 构造函数:

var foo = { id: 1 };
var bar = 'string';
console.log(foo === Object(foo)) // true
console.log(bar === Object(bar)) // false
于 2014-01-31T01:57:54.347 回答
1

除函数 和 之外的所有 Javascript 值undefined可以序列化为 JSON

要回答您的问题,请咨询typeof接线员。

于 2013-07-12T15:43:42.230 回答