1stSolo

1stSolo

Deserializing struct's from string to DateTime

I have a struct containing some DateTime fields. When I put it to Redis, it gets serialized as json (using Jason lib). So when it gets deserialized the datetime fields come back as strings.

How to restore the data to its original data type? Is there a Plug or Protocol to implement to tell Jason to decode those fields as DateTime?

Marked As Solved

dimitarvp

dimitarvp

Jason doesn’t support extra decoding functionality the same way that it supports custom encoding via its Elixir Protocol. You’re better off just using JSON decoding first and then parse the date strings.

…or you can store your Elixir data structures in Redis verbatim with :erlang.term_to_binary function for encoding and then :erlang.binary_to_term for decoding.

Also Liked

LostKobrakai

LostKobrakai

If you have ecto around you can use Ecto.Type or Repo.load to transform data back to their higher level types.

Last Post!

LostKobrakai

LostKobrakai

If you have ecto around you can use Ecto.Type or Repo.load to transform data back to their higher level types.

Where Next?

Popular in Questions Top

joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New
sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New

Other popular topics Top

nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New

We're in Beta

About us Mission Statement