Use JSON3 em vez da biblioteca JSON2

Recentemente, começamos a usar a biblioteca JSON3 porque

  1. Serializa corretamente os objetos de invólucro primitivos.
  2. Lança um TypeError ao serializar estruturas cíclicas (JSON 2 recorre até que a pilha de chamadas estoure).
  3. Utiliza testes de recursos para detectar implementações JSON nativas quebradas ou incompletas (JSON 2 apenas verifica a presença das funções nativas). Os testes são executados apenas uma vez no tempo de execução, portanto, não há custo de desempenho adicional ao analisar ou serializar valores.

Você pode baixá-lo neste link
Link