efectivamente estas pasando por referencia ya que el json es un objeto que, traducido a javascript, es un objeto normal y corriente. no he visto muy bien cuales son las alternativas nativas en el último estandar ECMAScript pero quizas la mejor alternativa es serializar el objeto en json y luego transformarlo (parse) a objeto.
Código:
// json es el objeto javascript, en tu caso param.value ;
var json_string = JSON.stringify(json);
var copy = JSON.parse(json_string);