如何获取集合中每个属性的“类型”?

唐·P

是否有一个JS库可以告诉我集合中每个属性的类型?

我有一个对象数组,这是SQL数据库查询的结果。

数据如下所示:

[{
  id: "1",
  email: "[email protected]",
  is_subscribed: null,
  name: "Don P",
  created_at: "2015-01-18 18:16:32"
},
{
  id: "2",
  email: "[email protected]",
  is_subsribed: "t",
  name: "Test Guy",
  created_at: "2015-01-30 12:05:55"
},
...]

我想要一个可以告诉我每个“列”类型的对象。像这样的东西:

{
  id: "integer",
  email: "string",
  is_subscribed: "boolean",
  name: "string",
  created_at: "datetime"
}

编辑:这不像做类型检查那样简单。我在这里遇到的主要问题是,除空值外,所有值都是字符串。这意味着我必须尝试将整个列转换为类型,然后检查该类型是否为整数。对我要检查的每种类型重复此操作。因此,我将拥有(要测试的类型数量)X(对象数量)X(列数量),这要进行大量计算,因此,如果有一些更聪明的方法,我想这样做。

编辑2:如果您对问题不满意,请发表评论以解释原因,以便作者可以改善问题。即使某些东西对您来说很明显,但可能对作者而言却不是(在这种情况下……我:P)。

丹达维斯

这是使用JSON.parsetypeof识别类型的快速示例

var o={
  id: "1",
  email: "[email protected]",
  is_subscribed: null,
  name: "Don P",
  created_at: "2015-01-18 18:16:32"
};
for(var it in o){ var v=o[it];
  try{v=JSON.parse(v);}catch(y){} //try to turn strings into literals
  if(!+v && Date.parse(v)){ v="date"; }else{ v=typeof v;} // find date strings (json encoded), not numbers
  if(v=="object" && Array.isArray(o[it])) v="array"; // [] vs {}
  if(v=="object" && !o[it]) v="null"; // null is and Object (doh!)
  o[it]=v;
}

o;/*  ~== {
  "id": "number",
  "email": "string",
  "is_subscribed": "null",
  "name": "string",
  "created_at": "date"
};*/

它与示例输出非常接近,但是使用了JS类型而不是SQL类型,而JS实际上无法从JSON中确定SQL类型,因为JSON会产生int模棱两可的特定数字类型

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从数组中获取每个注册类型?

来自分类Dev

如何从 querySelectorAll() 的每个结果中获取属性

来自分类Dev

BackboneJs如何遍历集合从每个模型中获取特定值

来自分类Dev

如何在SharePoint中从Web获取整个集合的受限属性

来自分类Dev

如何使用Flutter获取Firestore中每个集合的子集合

来自分类Dev

如何获取属性而不是集合属性

来自分类Dev

序列化XML时,如何在每个属性行中获取每个属性?

来自分类Dev

如何从数据库中的每个集合中获取N个文档?

来自分类Dev

如何从查询中包含的类型中获取属性?

来自分类Dev

如何从Rails的集合中获取集合?

来自分类Dev

如何通过在Cassandra中设置单独的生存时间(TTL)属性来使集合的每个元素到期?

来自分类Dev

如何通过在Cassandra中设置单独的生存时间(TTL)属性来使集合的每个元素到期?

来自分类Dev

如何使用collection_select在集合的每个元素中显示更多属性

来自分类Dev

根据元素类型从集合中获取元素

来自分类Dev

灰烬数据:如何在其他集合上获取集合中模型的汇总列表(@每个都不起作用)

来自分类Dev

如何获取集合中每个发件人的最新消息?

来自分类Dev

如何从集合中获取元素?

来自分类Dev

Laravel中的测试未获取集合属性

来自分类Dev

iOS如何在Swift中获取对象的属性类型?

来自分类Dev

如何使用镜像获取Dart中类的属性的类型?

来自分类Dev

如何在CodeProperty中获取属性的类型?T4

来自分类Dev

如何在TypeScript中获取接口属性的类型?

来自分类Dev

数据类型如何从对象中获取其属性?

来自分类Dev

如何使用镜像获取Dart中类的属性的类型?

来自分类Dev

iOS如何在Swift中获取对象的属性类型?

来自分类Dev

如何在jQuery中获取数据类型属性?

来自分类Dev

如何在python中获取类属性(Django模型)的类型

来自分类Dev

如何获取节俭类型的属性?

来自分类Dev

如何获取节俭类型的属性?

Related 相关文章

  1. 1

    如何从数组中获取每个注册类型?

  2. 2

    如何从 querySelectorAll() 的每个结果中获取属性

  3. 3

    BackboneJs如何遍历集合从每个模型中获取特定值

  4. 4

    如何在SharePoint中从Web获取整个集合的受限属性

  5. 5

    如何使用Flutter获取Firestore中每个集合的子集合

  6. 6

    如何获取属性而不是集合属性

  7. 7

    序列化XML时,如何在每个属性行中获取每个属性?

  8. 8

    如何从数据库中的每个集合中获取N个文档?

  9. 9

    如何从查询中包含的类型中获取属性?

  10. 10

    如何从Rails的集合中获取集合?

  11. 11

    如何通过在Cassandra中设置单独的生存时间(TTL)属性来使集合的每个元素到期?

  12. 12

    如何通过在Cassandra中设置单独的生存时间(TTL)属性来使集合的每个元素到期?

  13. 13

    如何使用collection_select在集合的每个元素中显示更多属性

  14. 14

    根据元素类型从集合中获取元素

  15. 15

    灰烬数据:如何在其他集合上获取集合中模型的汇总列表(@每个都不起作用)

  16. 16

    如何获取集合中每个发件人的最新消息?

  17. 17

    如何从集合中获取元素?

  18. 18

    Laravel中的测试未获取集合属性

  19. 19

    iOS如何在Swift中获取对象的属性类型?

  20. 20

    如何使用镜像获取Dart中类的属性的类型?

  21. 21

    如何在CodeProperty中获取属性的类型?T4

  22. 22

    如何在TypeScript中获取接口属性的类型?

  23. 23

    数据类型如何从对象中获取其属性?

  24. 24

    如何使用镜像获取Dart中类的属性的类型?

  25. 25

    iOS如何在Swift中获取对象的属性类型?

  26. 26

    如何在jQuery中获取数据类型属性?

  27. 27

    如何在python中获取类属性(Django模型)的类型

  28. 28

    如何获取节俭类型的属性?

  29. 29

    如何获取节俭类型的属性?

热门标签

归档