glideapps/quicktype

Find a better JSON parser or implement our own

已关闭

#646 创建于 2018年3月8日

 (12 条评论) (2 个反应) (0 位负责人)TypeScript (968 个派生)batch import
good first issue

仓库指标

星标
 (10,867 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

Required features:

  • Streaming. We need to process files larger than V8 strings allow.
  • Preserve property order.
  • Good and actionable error messages. Our users often have issues with invalid JSON.
  • Recover from common errors.
  • Distinguish between integers and floating point numbers.
  • Span for each non-symbol token - line number and column of start and end.

Common errors:

  • Unquoted keys: { foo: "bar" }
  • Superfluous commas: [1, 2, 3,]
  • Wrong delimiter: [ "foo": "bar" ], { 1, 2, 3 }

Other easily recoverable errors:

  • = (or anything else) instead of : in objects: { "foo"="bar" }
  • Number format stuff, such as no digits before point (.3), leading zeros (0123), hexadecimals (0xdeadbeef)

贡献者指南