[
  {
    "type": "_value",
    "named": true,
    "subtypes": [
      {
        "type": "array",
        "named": true
      },
      {
        "type": "false",
        "named": true
      },
      {
        "type": "null",
        "named": true
      },
      {
        "type": "number",
        "named": true
      },
      {
        "type": "object",
        "named": true
      },
      {
        "type": "string",
        "named": true
      },
      {
        "type": "true",
        "named": true
      }
    ]
  },
  {
    "type": "array",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_value",
          "named": true
        }
      ]
    }
  },
  {
    "type": "document",
    "named": true,
    "root": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_value",
          "named": true
        }
      ]
    }
  },
  {
    "type": "object",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "pair",
          "named": true
        }
      ]
    }
  },
  {
    "type": "pair",
    "named": true,
    "fields": {
      "key": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "string",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_value",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "string",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "escape_sequence",
          "named": true
        },
        {
          "type": "string_content",
          "named": true
        }
      ]
    }
  },
  {
    "type": "\"",
    "named": false
  },
  {
    "type": ",",
    "named": false
  },
  {
    "type": ":",
    "named": false
  },
  {
    "type": "[",
    "named": false
  },
  {
    "type": "]",
    "named": false
  },
  {
    "type": "comment",
    "named": true
  },
  {
    "type": "escape_sequence",
    "named": true
  },
  {
    "type": "false",
    "named": true
  },
  {
    "type": "null",
    "named": true
  },
  {
    "type": "number",
    "named": true
  },
  {
    "type": "string_content",
    "named": true
  },
  {
    "type": "true",
    "named": true
  },
  {
    "type": "{",
    "named": false
  },
  {
    "type": "}",
    "named": false
  }
]