Bug #84106 Value viewer does not detect JSON with empty arrays
Submitted: 8 Dec 2016 10:48 Modified: 21 Jan 2017 1:03
Reporter: Lars Kristensen Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench Severity:S3 (Non-critical)
Version:6.3.8 OS:Any
Assigned to: CPU Architecture:Any
Tags: 6.3.8, workbench

[8 Dec 2016 10:48] Lars Kristensen
Description:
When right clicking a field in the result grid and choosing "Open Value in Viewer" you are not presented with the JSON tab if the field contains an empty array even though the data is valid JSON.

How to repeat:
Execute following statements:

SET @TestSample1 = '{"TestSample": []}';
SET @TestSample2 = '{"TestSample": [1]}';
SELECT 
    JSON_VALID(@TestSample2), 
    JSON_VALID(@TestSample1),
    @TestSample1, 
    @TestSample2, 
    CAST(@TestSample1 AS JSON), 
    CAST(@TestSample2 AS JSON);

Right click and choose "Open Value in Viewer" on the fields in column number 3 to 6 in the result grid. Each of the views should present you with the JSON tab but two of them don't.
[8 Dec 2016 10:54] Lars Kristensen
Sample of the bug

Attachment: workbench_bug.jpg (image/jpeg, text), 65.48 KiB.

[8 Dec 2016 11:13] MySQL Verification Team
Thank you for the bug report. Verified as described.
[21 Jan 2017 1:03] Christine Cole
Posted by developer:
 
Fixed as of the upcoming MySQL Workbench 6.3.9 release, and here's the changelog entry:

No JSON tab appeared for the Open Value in Editor command if the field
contained an empty array.

Thank you for the bug report.
[24 Feb 2017 12:40] Philip Oxenberg
I am running the 64 bit version of workbench 6.3.9 and the JSON tab does not always appear in the Open Value in Viewer dialog.

Thanks
[24 Feb 2017 13:30] Philip Oxenberg
Please ignore my previous comment.  I had a mal frmed file pathname which was causing the problem.
[24 Feb 2017 17:04] Philip Oxenberg
I am using JSON fields in my table.  I have two different JSON strings, both appear to be valid JSON, validated at codebeautify.rg/jsonviewer.  I can insert one of them without issue.  The other throws this exception:  InterfaceError: (-1, 'error totally whack').  I am using Python 2.7  Any idea what's going on?