代码之家  ›  专栏  ›  技术社区  ›  Paul Wicks asgeo1

可以获取json文件的“模式”吗?

  •  0
  • Paul Wicks asgeo1  · 技术社区  · 16 年前

    因此,我有一个json文件,我想使用javascript获取文件中所有字段的名称。除了使用eval,然后在生成的对象上使用反射,还有更好的方法吗?还是说这毫无意义?谢谢

    5 回复  |  直到 16 年前
        1
  •  3
  •   Luca Matteis    16 年前

    您应该做一些框架使用的事情,例如:

    http://www.prototypejs.org/api/string/evalJSON

    它会检查JSON是否已消毒。但除此之外,它只是在最后使用了旧的plain eval()。

        2
  •  2
  •   Adam Peck    16 年前

    除非您想以某种方式解析文本,否则我建议最简单的方法是对其进行求值,并通过循环获取所有字段名。

        3
  •  2
  •   Zach    16 年前

    注意,这里有一个关于 JSON Schema ,在JSON中定义。他们甚至有一个 validator

        4
  •  1
  •   Jon Adams    16 年前

    嗯,这会变得很棘手,因为筑巢等等。这取决于你的结构。javascript的“反射”不会对性能造成任何影响,因此可以随意浏览对象的成员。或者,您可以基于JSON规范推出自己的解析器。

        5
  •  0
  •   dkretz    16 年前

    JSON文件实际上不需要符合一致的模式。可以有参差不齐的一排;元素可以按顺序跨行变化;任何行都可以有任何元素(或没有)。都是以层次节点的方式。因此,通过特别检查(反射)来提出您想要的可能是相当危险的。

    并不是说使用JSON格式的任何一方都无法满足更多的结构需求,但这样您就可以从模式开始了。