<?php

namespace Soda\Cms\InterfaceBuilder\Forms\Fields;

use Soda\Cms\InterfaceBuilder\Forms\AbstractFormField;

class Json extends AbstractFormField
{
    protected $view = 'json';

    public function getFieldValue()
    {
        $value = parent::getFieldValue();

        if (is_array($value)) {
            $value = json_encode($value);
        }

        return ($value && $value != 'null' && $value != '[]') ? $value : '{}';
    }
}

<?php

namespace Soda\Cms\InterfaceBuilder\Forms\Fields;

use Soda\Cms\InterfaceBuilder\Forms\AbstractFormField;

class Json extends AbstractFormField
{
    protected $view = 'json';

    public function getFieldValue()
    {
        $value = parent::getFieldValue();

        $json = json_encode($value);

        return ($json && $json != 'null' && $json != '[]') ? $json : '{}';
    }
}

--- 
+++ 
@@ -12,8 +12,10 @@
     {
         $value = parent::getFieldValue();
 
-        $json = json_encode($value);
+        if (is_array($value)) {
+            $value = json_encode($value);
+        }
 
-        return ($json && $json != 'null' && $json != '[]') ? $json : '{}';
+        return ($value && $value != 'null' && $value != '[]') ? $value : '{}';
     }
 }
Update json field to handle unmutated columns

