diff --git a/index.js b/index.js index ea206ea..2a6057c 100644 --- a/index.js +++ b/index.js @@ -4,6 +4,7 @@ */ var debug = require('debug')('socket.io-parser'); +var CircularJSON = require('circular-json'); var Emitter = require('component-emitter'); var hasBin = require('has-binary2'); var binary = require('./binary'); @@ -170,7 +171,7 @@ function encodeAsString(obj) { // json data if (null != obj.data) { - str += JSON.stringify(obj.data); + str += CircularJSON.stringify(obj.data); } debug('encoded %j as %s', obj, str); @@ -327,7 +328,7 @@ function decodeString(str) { function tryParse(p, str) { try { - p.data = JSON.parse(str); + p.data = CircularJSON.parse(str); } catch(e){ return error(); } diff --git a/package.json b/package.json index 2d1284f..2146b90 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,9 @@ "is-buffer.js" ], "dependencies": { - "debug": "~2.6.4", + "circular-json": "^0.4.0", "component-emitter": "1.2.1", + "debug": "~2.6.4", "has-binary2": "~1.0.2", "isarray": "2.0.1" },