Serializing queries to JSON compatibility

Description

ACF and Lucee behave differently here, so for full compatibility would need a switch. Lucee is consistent. ACF is not depending on usage.

MySQL Database data:

category_pk int

title varchar(100)

active bit(1)

1

world

NULL

2

boxlang

1

Code Example #1:

When you call this using /api.cfc?method=test&returnformat=json then

ColdFusion returns

  • uppercase column names

  • null where the value is null in the database

  • true for the active field (which is a bit datatype)

Lucee returns

  • the column names using the SQL statement case

  • the null value to an empty string

  • 1 for the active field (which is a bit datatype)

Code Example #2

A similar (but inconsistent!) example would be:

Lucee returns (as above)

  • the column names using the SQL statement case

  • the null value to an empty string

  • 1 for the active field (which is a bit datatype)

ColdFusion returns

  • uppercase column names (same as before)

  • the null value as an empty string (different behaviour)

  • 1 for ‘true’ active bit field (different behaviour)

Code Example #3

A similar (but again inconsistent!) example would be:

ColdFusion returns

  • uppercase column names (same as before)

  • the null value as an empty string (matches example #2)

  • true for the ‘true’ active bit field (matches example #1)

Lucee returns (as above)

  • the column names using the SQL statement case

  • the null value to an empty string

  • 1 for the active field (which is a bit datatype)

Activity

Show:
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Priority

Sentry

Created last week
Updated 5 days ago