Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Powershell Core and Windows Powershell work similarly when it comes to deserializing numbers in JSON, but there is a difference in how they handle Int64 and Int32.

In Windows Powershell, numbers are deserialized as Int32 values by default, regardless of whether they were originally formatted as Int32 or Int64 in the JSON payload. This can potentially lead to data loss if the number being deserialized is larger than what an Int32 variable can hold.

In Powershell Core, numbers are deserialized according to their original format in the JSON payload, so an Int64 value in JSON will be deserialized as an Int64 in Powershell Core. This ensures that there is no data loss during deserialization.

Overall, Powershell Core offers more precise parsing of JSON numbers, whereas Windows Powershell defaults to Int32 which could result in data loss for larger values stored as Int64.