{
  "_args": [
    [
      {
        "raw": "json3@3.3.2",
        "scope": null,
        "escapedName": "json3",
        "name": "json3",
        "rawSpec": "3.3.2",
        "spec": "3.3.2",
        "type": "version"
      },
      "/home/travis/build/lukesargeant/ember-sparkline/node_modules/socket.io-parser"
    ]
  ],
  "_from": "json3@3.3.2",
  "_id": "json3@3.3.2",
  "_inCache": true,
  "_location": "/json3",
  "_npmUser": {
    "name": "kitcambridge",
    "email": "github@kitcambridge.be"
  },
  "_npmVersion": "1.4.3",
  "_phantomChildren": {},
  "_requested": {
    "raw": "json3@3.3.2",
    "scope": null,
    "escapedName": "json3",
    "name": "json3",
    "rawSpec": "3.3.2",
    "spec": "3.3.2",
    "type": "version"
  },
  "_requiredBy": [
    "/socket.io-parser"
  ],
  "_resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
  "_shasum": "3c0434743df93e2f5c42aee7b19bcb483575f4e1",
  "_shrinkwrap": null,
  "_spec": "json3@3.3.2",
  "_where": "/home/travis/build/lukesargeant/ember-sparkline/node_modules/socket.io-parser",
  "author": {
    "name": "Kit Cambridge",
    "email": "github@kitcambridge.be",
    "url": "http://kitcambridge.be/"
  },
  "bugs": {
    "url": "https://github.com/bestiejs/json3/issues"
  },
  "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": "Kiryl Yermakou",
      "email": "rma4ok@gmail.com",
      "url": "https://github.com/rma4ok"
    }
  ],
  "dependencies": {},
  "description": "A modern JSON implementation compatible with nearly all JavaScript platforms.",
  "devDependencies": {},
  "directories": {},
  "dist": {
    "shasum": "3c0434743df93e2f5c42aee7b19bcb483575f4e1",
    "tarball": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz"
  },
  "files": [
    "README.md",
    "LICENSE",
    "lib/json3.js",
    "lib/json3.min.js"
  ],
  "homepage": "http://bestiejs.github.io/json3",
  "jam": {
    "main": "./lib/json3.js",
    "includes": [
      "README.md",
      "LICENSE",
      "lib/json3.js",
      "lib/json3.min.js"
    ]
  },
  "keywords": [
    "json",
    "spec",
    "ecma",
    "es5",
    "lexer",
    "parser",
    "stringify"
  ],
  "licenses": [
    {
      "type": "MIT",
      "url": "http://kit.mit-license.org/"
    }
  ],
  "main": "./lib/json3",
  "maintainers": [
    {
      "name": "Kit Cambridge",
      "email": "github@kitcambridge.be",
      "url": "http://kitcambridge.be/"
    },
    {
      "name": "Benjamin Tan",
      "email": "demoneaux@gmail.com",
      "url": "http://d10.github.io/"
    }
  ],
  "name": "json3",
  "optionalDependencies": {},
  "readme": "# JSON 3 #\n\n![JSON 3 Logo](http://bestiejs.github.io/json3/page/logo.png)\n\n[![Build Status](https://secure.travis-ci.org/bestiejs/json3.png?branch=gh-pages)](http://travis-ci.org/bestiejs/json3)\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.3.2**.\n\n- [Development Version](http://cdnjs.cloudflare.com/ajax/libs/json3/3.3.2/json3.js) *(43 KB; uncompressed with comments)*\n- [Production Version](http://cdnjs.cloudflare.com/ajax/libs/json3/3.3.2/json3.min.js) *(3.5 KB; compressed and `gzip`-ped)*\n\nSpecial thanks to [cdnjs](http://cdnjs.com/libraries/json3/) and [jsDelivr](http://www.jsdelivr.com/#!json3) for hosting CDN copies of JSON 3.\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=\"//cdnjs.cloudflare.com/ajax/libs/json3/3.3.2/json3.min.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**When used in a web browser**, JSON 3 exposes an additional `JSON3` object containing the `noConflict()` and `runInContext()` functions, as well as aliases to the `stringify()` and `parse()` functions.\n\n### `noConflict` and `runInContext`\n\n* `JSON3.noConflict()` restores the original value of the global `JSON` object and returns a reference to the `JSON3` object.\n* `JSON3.runInContext([context, exports])` initializes JSON 3 using the given `context` object (e.g., `window`, `global`, etc.), or the global object if omitted. If an `exports` object is specified, the `stringify()`, `parse()`, and `runInContext()` functions will be attached to it instead of a new object.\n\n### Asynchronous Module Loaders\n\nJSON 3 is defined as an [anonymous module](https://github.com/amdjs/amdjs-api/wiki/AMD#define-function-) for compatibility with [RequireJS](http://requirejs.org/), [`curl.js`](https://github.com/cujojs/curl), and other asynchronous module loaders.\n\n    <script src=\"//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.js\"></script>\n    <script>\n      require({\n        \"paths\": {\n          \"json3\": \"./path/to/json3\"\n        }\n      }, [\"json3\"], function (JSON) {\n        JSON.parse(\"[1, 2, 3]\");\n        // => [1, 2, 3]\n      });\n    </script>\n\nTo avoid issues with third-party scripts, **JSON 3 is exported to the global scope even when used with a module loader**. If this behavior is undesired, `JSON3.noConflict()` can be used to restore the global `JSON` object to its original value.\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\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/).\n",
  "readmeFilename": "README.md",
  "repository": {
    "type": "git",
    "url": "git://github.com/bestiejs/json3.git"
  },
  "scripts": {
    "test": "node test/test_*.js"
  },
  "version": "3.3.2",
  "volo": {
    "type": "directory",
    "ignore": [
      ".*",
      "build.js",
      "index.html",
      "component.json",
      "bower.json",
      "benchmark",
      "page",
      "test",
      "vendor"
    ]
  }
}
