Represent empty array as [empty_array] instead []

In erlang empty string and lists are represented in the same way.
In order to distinguish [] from "" put an 'empty_array' atom inside
erlang list. It will pass is_list guards and will be different from
empty string.

This is fix to my problem of executing following flow:
json -> terms -> sql. SQL builder doesn't know when to use array
constructor.. because it gets [] and treats it as a string.

This is totally not JSON standard, so I doubt it will get it.
I wonder what would be your approach to this problem.