{
  "name": "json3",
  "version": "3.2.6",
  "description": "A modern JSON implementation compatible with nearly all JavaScript platforms.",
  "homepage": "http://bestiejs.github.io/json3",
  "main": "./lib/json3",
  "keywords": [
    "json",
    "spec",
    "ecma",
    "es5",
    "lexer",
    "parser",
    "stringify"
  ],
  "licenses": [
    {
      "type": "MIT",
      "url": "http://kit.mit-license.org/"
    }
  ],
  "author": {
    "name": "Kit Cambridge",
    "email": "github@kitcambridge.be",
    "url": "http://kitcambridge.be/"
  },
  "maintainers": [
    {
      "name": "Kit Cambridge",
      "email": "github@kitcambridge.be",
      "url": "http://kitcambridge.be/"
    }
  ],
  "contributors": [
    {
      "name": "Mangled Deutz",
      "email": "olivier@webitup.fr",
      "url": "http://tech.roxee.tv/"
    },
    {
      "name": "Øyvind Sean Kinsey",
      "email": "oyvind@kinsey.no",
      "url": "http://fb.me/ok"
    },
    {
      "name": "Oskar Schöldström",
      "email": "public@oxy.fi",
      "url": "http://oxy.fi/"
    },
    {
      "name": "Benjamin Tan",
      "email": "demoneaux@gmail.com",
      "url": "http://d10.github.io/"
    },
    {
      "name": "Kiryl Yermakou",
      "email": "rma4ok@gmail.com",
      "url": "https://github.com/rma4ok"
    }
  ],
  "bugs": {
    "url": "https://github.com/bestiejs/json3/issues"
  },
  "scripts": {
    "test": "node test/test_*.js"
  },
  "repository": {
    "type": "git",
    "url": "git://github.com/bestiejs/json3.git"
  },
  "jam": {
    "main": "./lib/json3.js"
  },
  "volo": {
    "type": "directory",
    "ignore": [
      ".*",
      "build.js",
      "index.html",
      "component.json",
      "bower.json",
      "benchmark",
      "page",
      "test",
      "vendor"
    ]
  },
  "readme": "# JSON 3 #\n\n![JSON 3 Logo](http://bestiejs.github.io/json3/page/logo.png)\n\n**JSON 3** is a modern JSON implementation compatible with a variety of JavaScript platforms, including Internet Explorer 6, Opera 7, Safari 2, and Netscape 6. The current version is **3.2.6**.\n\n- [Development Version](https://raw.github.com/bestiejs/json3/v3.2.6/lib/json3.js) *(40 KB; uncompressed with comments)*\n- [Production Version](https://raw.github.com/bestiejs/json3/v3.2.6/lib/json3.min.js) *(3.3 KB; compressed and `gzip`-ped)*\n\nCDN copies are also available at [cdnjs](http://cdnjs.com/libraries/json3/) & [jsDelivr](http://www.jsdelivr.com/#!json3).\n\n[JSON](http://json.org/) is a language-independent data interchange format based on a loose subset of the JavaScript grammar. Originally popularized by [Douglas Crockford](http://www.crockford.com/), the format was standardized in the [fifth edition](http://es5.github.com/) of the ECMAScript specification. The 5.1 edition, ratified in June 2011, incorporates several modifications to the grammar pertaining to the serialization of dates.\n\nJSON 3 exposes two functions: `stringify()` for [serializing](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/JSON/stringify) a JavaScript value to JSON, and `parse()` for [producing](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/JSON/parse) a JavaScript value from a JSON source string. It is a **drop-in replacement** for [JSON 2](http://json.org/js). The functions behave exactly as described in the ECMAScript spec, **except** for the date serialization discrepancy noted below.\n\nThe JSON 3 parser does **not** use `eval` or regular expressions. This provides security and performance benefits in obsolete and mobile environments, where the margin is particularly significant. The complete [benchmark suite](http://jsperf.com/json3) is available on [jsPerf](http://jsperf.com/).\n\nThe project is [hosted on GitHub](http://git.io/json3), along with the [unit tests](http://bestiejs.github.io/json3/test/test_browser.html). It is part of the [BestieJS](https://github.com/bestiejs) family, a collection of best-in-class JavaScript libraries that promote cross-platform support, specification precedents, unit testing, and plenty of documentation.\n\n# Changes from JSON 2 #\n\nJSON 3...\n\n* Correctly serializes primitive wrapper objects.\n* Throws a `TypeError` when serializing cyclic structures (JSON 2 recurses until the call stack overflows).\n* Utilizes **feature tests** to detect broken or incomplete *native* JSON implementations (JSON 2 only checks for the presence of the native functions). The tests are only executed once at runtime, so there is no additional performance cost when parsing or serializing values.\n\n**As of v3.2.3**, JSON 3 is compatible with [Prototype](http://prototypejs.org) 1.6.1 and older.\n\nIn contrast to JSON 2, JSON 3 **does not**...\n\n* Add `toJSON()` methods to the `Boolean`, `Number`, and `String` prototypes. These are not part of any standard, and are made redundant by the design of the `stringify()` implementation.\n* Add `toJSON()` or `toISOString()` methods to `Date.prototype`. See the note about date serialization below.\n\n## Date Serialization\n\n**JSON 3 deviates from the specification in one important way**: it does not define `Date#toISOString()` or `Date#toJSON()`. This preserves CommonJS compatibility and avoids polluting native prototypes. Instead, date serialization is performed internally by the `stringify()` implementation: if a date object does not define a custom `toJSON()` method, it is serialized as a [simplified ISO 8601 date-time string](http://es5.github.com/#x15.9.1.15).\n\n**Several native `Date#toJSON()` implementations produce date time strings that do *not* conform to the grammar outlined in the spec**. For instance, all versions of Safari 4, as well as JSON 2, fail to serialize extended years correctly. Furthermore, JSON 2 and older implementations omit the milliseconds from the date-time string (optional in ES 5, but required in 5.1). Finally, in all versions of Safari 4 and 5, serializing an invalid date will produce the string `\"Invalid Date\"`, rather than `null`. Because these environments exhibit other serialization bugs, however, JSON 3 will override the native `stringify()` implementation.\n\nPortions of the date serialization code are adapted from the [`date-shim`](https://github.com/Yaffle/date-shim) project.\n\n# Usage #\n\n## Web Browsers\n\n    <script src=\"http://bestiejs.github.io/json3/lib/json3.js\"></script>\n    <script>\n      JSON.stringify({\"Hello\": 123});\n      // => '{\"Hello\":123}'\n      JSON.parse(\"[[1, 2, 3], 1, 2, 3, 4]\", function (key, value) {\n        if (typeof value == \"number\") {\n          value = value % 2 ? \"Odd\" : \"Even\";\n        }\n        return value;\n      });\n      // => [[\"Odd\", \"Even\", \"Odd\"], \"Odd\", \"Even\", \"Odd\", \"Even\"]\n    </script>\n\n## CommonJS Environments\n\n    var JSON3 = require(\"./path/to/json3\");\n    JSON3.parse(\"[1, 2, 3]\");\n    // => [1, 2, 3]\n\n## JavaScript Engines\n\n    load(\"path/to/json3.js\");\n    JSON.stringify({\"Hello\": 123, \"Good-bye\": 456}, [\"Hello\"], \"\\t\");\n    // => '{\\n\\t\"Hello\": 123\\n}'\n\n# Compatibility #\n\nJSON 3 has been **tested** with the following web browsers, CommonJS environments, and JavaScript engines.\n\n## Web Browsers\n\n- Windows [Internet Explorer](http://www.microsoft.com/windows/internet-explorer), version 6.0 and higher\n- Mozilla [Firefox](http://www.mozilla.com/firefox), version 1.0 and higher\n- Apple [Safari](http://www.apple.com/safari), version 2.0 and higher\n- [Opera](http://www.opera.com) 7.02 and higher\n- [Mozilla](http://sillydog.org/narchive/gecko.php) 1.0, [Netscape](http://sillydog.org/narchive/) 6.2.3, and [SeaMonkey](http://www.seamonkey-project.org/) 1.0 and higher\n\n## CommonJS Environments\n\n- [Node](http://nodejs.org/) 0.2.6 and higher\n- [RingoJS](http://ringojs.org/) 0.4 and higher\n- [Narwhal](http://narwhaljs.org/) 0.3.2 and higher\n\n## JavaScript Engines\n\n- Mozilla [Rhino](http://www.mozilla.org/rhino) 1.5R5 and higher\n- WebKit [JSC](https://trac.webkit.org/wiki/JSC)\n- Google [V8](http://code.google.com/p/v8)\n\n## Known Incompatibilities\n\n* Attempting to serialize the `arguments` object may produce inconsistent results across environments due to specification version differences. As a workaround, please convert the `arguments` object to an array first: `JSON.stringify([].slice.call(arguments, 0))`.\n\n## Required Native Methods\n\nJSON 3 assumes that the following methods exist and function as described in the ECMAScript specification:\n\n- The `Number`, `String`, `Array`, `Object`, `Date`, `SyntaxError`, and `TypeError` constructors.\n- `String.fromCharCode`\n- `Object#toString`\n- `Function#call`\n- `Math.floor`\n- `Number#toString`\n- `Date#valueOf`\n- `String.prototype`: `indexOf`, `charCodeAt`, `charAt`, `slice`.\n- `Array.prototype`: `push`, `pop`, `join`.\n\n# Contribute #\n\nCheck out a working copy of the JSON 3 source code with [Git](http://git-scm.com/):\n\n    $ git clone git://github.com/bestiejs/json3.git\n    $ cd json3\n    $ git submodule update --init\n\nIf you'd like to contribute a feature or bug fix, you can [fork](http://help.github.com/fork-a-repo/) JSON 3, commit your changes, and [send a pull request](http://help.github.com/send-pull-requests/). Please make sure to update the unit tests in the `test` directory as well.\n\nAlternatively, you can use the [GitHub issue tracker](https://github.com/bestiejs/json3/issues) to submit bug reports, feature requests, and questions, or send tweets to [@kitcambridge](http://twitter.com/kitcambridge).\n\nJSON 3 is released under the [MIT License](http://kit.mit-license.org/).",
  "readmeFilename": "README.md",
  "_id": "json3@3.2.6",
  "_from": "json3@3.2.6"
}
