The function works just fine with a simple struct for me.
I’m giving it json with a random value every second and it produces expected result every time.

What does your struct look like ? Especially that character part ?
Is it an object reference, or a nested struct ?
How about other struct members, do they update correctly on subsequent operations ?
