JSON output missing argument
Attempting to run compliance-checker on Python 2 or 3 with JSON output fails due to a missing function argument.

```
compliance-checker --test ioos -f json -c strict compliance_checker/tests/data/conv_bad.nc                                                                    
Traceback (most recent call last):
  File "/home/badams_local/.virtualenvs/cchecker_py3/bin/compliance-checker", line 9, in <module>
    load_entry_point('compliance-checker', 'console_scripts', 'compliance-checker')()
  File "/home/badams_local/devel/compliance-checker/cchecker.py", line 41, in main
    args.format)
  File "/home/badams_local/devel/compliance-checker/compliance_checker/runner.py", line 50, in run_checker
    groups = cls.json_output(cs, score_groups, output_filename, ds_loc, limit)
  File "/home/badams_local/devel/compliance-checker/compliance_checker/runner.py", line 116, in json_output
    cs.json_output(checker, groups, f, ds_loc)
TypeError: json_output() missing 1 required positional argument: 'limit'
```

diff --git a/compliance_checker/suite.py b/compliance_checker/suite.py
index e2f683e..ce01b07 100644
--- a/compliance_checker/suite.py
+++ b/compliance_checker/suite.py
@@ -225,7 +225,7 @@ class CheckSuite(object):
         aggregates = self.build_structure(check_name, groups, source_name, limit)
         aggregates = self.serialize(aggregates)
         json_string = json.dumps(aggregates, ensure_ascii=False)
-        file_object.write(str(json_string))
+        file_object.write(json_string)
         return
 
     def serialize(self, o):
diff --git a/compliance_checker/tests/test_cli.py b/compliance_checker/tests/test_cli.py
index ae7e644..e591124 100644
--- a/compliance_checker/tests/test_cli.py
+++ b/compliance_checker/tests/test_cli.py
@@ -71,3 +71,23 @@ class TestCLI(TestCase):
         )
 
         assert os.stat(path).st_size > 0
+
+    def test_json_output(self):
+        '''
+        Tests that the CF checker can produce JSON output
+        '''
+
+        fd, path = tempfile.mkstemp()
+        os.close(fd)
+        self.addCleanup(os.remove, path)
+
+        return_value, errors = ComplianceChecker.run_checker(
+            ds_loc=STATIC_FILES['conv_bad'],
+            verbose=0,
+            criteria='strict',
+            checker_names=['cf'],
+            output_filename=path,
+            output_format='json'
+        )
+
+        assert os.stat(path).st_size > 0
['compliance_checker/tests/test_cli.py', 'compliance_checker/suite.py']