packet fpjsonrtti - QWord values are converted as Float

Summary

FCL package fcl-json : in JSON string conversions of Objects QWord properties are handled as 64bit floats (Double) instead of as 64bit unsigned integers (QWord).

I'm not sure, if this is a bug or if there is a particular reason for this, because at first sight, it seems to work though. But all other data types are handled correctly. Hence, for QWord this is confusing at least, and might possibly cause data loss/corruption/error when using these JSON strings in other software/systems.

System Information

  • Operating system: Windows
  • Processor architecture: x86, x86-64
  • Compiler version: 3.2.2
  • Device: Computer

Steps to reproduce

Convert an Object with QWord property and inspect the resulting JSON string.

Example Project

What is the current bug behavior?

In JSON string conversion of Objects QWord properties are handled as 64bit floats (Double).

What is the expected (correct) behavior?

In JSON string conversion of Objects QWord properties are handled as 64bit unsigned integers (QWord).

Relevant logs and/or screenshots

Possible fixes

In FCL package fcl-json file fpjsonrtti.pp change the according source code lines 549 and 1183.