/ / Rails Converti stringa JSON in Javascript Date () - javascript, ruby-on-rails-3, json, date

Rails Converti stringa JSON in Javascript Date () - javascript, ruby-on-rails-3, json, date

Sto restituendo un po 'di json da uno dei miei controller simile al seguente:

render :json => {
:date => "new Date(new Date("Jan 01 2000").getTime() + #{500.seconds.to_i} * 1000)"
}

Mi aspetto che restituisca una nuova data impostata su 500seconda mezzanotte (o esattamente 00:08:20). Questo json viene passato ed elaborato da una funzione JavaScript che "si aspetta una data, tuttavia sembra interpretarla come una stringa. Ricevo un messaggio di errore simile a:

Digitare la mancata corrispondenza. Valore nuova data (nuova data ("01 gennaio 2000"). GetTime () + 500 * 1000) non corrisponde alla data del tipo

L'esecuzione nella console Firebug produce tuttavia una data perfettamente valida. Come posso ottenere JavaScript per inserire il mio json come data?


modificare

Per fornire un po 'più di contesto, sto inviando una serie di richieste JSON a una funzione JavaScript che crea grafici utilizzando l'API di visualizzazione di Google.

risposte:

1 per risposta № 1

JSON non è Javascript, è solo un formato di serializzazione dei dati, molto simile a XML.

Quello che hai in realtà è una stringa di Javascriptcodice che devi interpretare (o evitare di dover interpretare, preferibilmente). L'unico modo per rendere valido JSON è, infatti, che sia un valore stringa. Anche in questo caso, non dovrebbe essere analizzato correttamente senza essere all'interno di un array o di una proprietà dell'oggetto.

Dovresti refactificare qualunque cosa stia restituendo quel codice Javascript per restituire semplicemente "Jan 01 2000"e quindi esegui tale elaborazione in Ruby. O comunque sarebbe meglio refactored; è difficile da dire senza più contesto.