diff --git a/.travis.yml b/.travis.yml
index cffa9ba..368f17e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,12 +1,13 @@
 language: python
-python: 2.7
-env:
-  - TOX_ENV=py26
-  - TOX_ENV=py27
-  - TOX_ENV=py33
-  - TOX_ENV=py34
-install: pip install tox coveralls
-before_script: tox -e flake8
-script: tox -e ${TOX_ENV}
+python:
+  - 2.6
+  - 2.7
+  - 3.3
+  - 3.4
+  - 3.6
+before_install: pip install --upgrade setuptools
+install: pip install tox tox-travis coveralls
+before_script: if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then tox -e flake8; fi
+script: tox -r
 after_success: coveralls
 sudo: false
diff --git a/pyhocon/tool.py b/pyhocon/tool.py
index 8620fc2..241fd35 100644
--- a/pyhocon/tool.py
+++ b/pyhocon/tool.py
@@ -3,6 +3,8 @@ import logging
 import sys
 from pyhocon import ConfigFactory
 from pyhocon.config_tree import ConfigTree
+from pyhocon.config_tree import NoneValue
+
 
 try:
     basestring
@@ -52,7 +54,7 @@ class HOCONConverter(object):
                 lines += '\n{indent}]'.format(indent=''.rjust(level * indent, ' '))
         elif isinstance(config, basestring):
             lines = '"{value}"'.format(value=config.replace('\n', '\\n').replace('"', '\\"'))
-        elif config is None:
+        elif config is None or isinstance(config, NoneValue):
             lines = 'null'
         elif config is True:
             lines = 'true'
@@ -103,7 +105,7 @@ class HOCONConverter(object):
                 lines = '"""{value}"""'.format(value=config)  # multilines
             else:
                 lines = '"{value}"'.format(value=config.replace('\n', '\\n').replace('"', '\\"'))
-        elif config is None:
+        elif config is None or isinstance(config, NoneValue):
             lines = 'null'
         elif config is True:
             lines = 'true'
@@ -150,6 +152,8 @@ class HOCONConverter(object):
                 lines = config
             else:
                 lines = '|\n' + '\n'.join([line.rjust(level * indent, ' ') for line in lines])
+        elif config is None or isinstance(config, NoneValue):
+            lines = 'null'
         elif config is True:
             lines = 'true'
         elif config is False:
@@ -185,6 +189,8 @@ class HOCONConverter(object):
             lines.append('.'.join(stripped_key_stack) + ' = true')
         elif config is False:
             lines.append('.'.join(stripped_key_stack) + ' = false')
+        elif config is None or isinstance(config, NoneValue):
+            pass
         else:
             lines.append('.'.join(stripped_key_stack) + ' = ' + str(config))
         return '\n'.join([line for line in lines if len(line) > 0])
diff --git a/tox.ini b/tox.ini
index f9a71ce..5a4f7da 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
 [tox]
-envlist = flake8, py26, py27, py33, py34
+envlist = flake8, py26, py27, py33, py34, py36
 
 [testenv]
 passenv = TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH

HOCONConverter.to_json can't convert `null` value
After convert into JSON with `HOCONConverter.to_json`, the value should be kept `null`, but it is converted to `NonValue`.

```py
In [19]: hocon = "{foo = null}"
In [20]: conf = ConfigFactory.parse_string(hocon)
In [21]: conf
Out[21]: ConfigTree([('foo', <pyhocon.config_tree.NoneValue at 0x1a1074e4fd0>)])
In [22]: HOCONConverter.to_json(conf)
Out[22]: '{\n  "foo": <pyhocon.config_tree.NoneValue object at 0x000001A1074E4FD0>\n}'
```
diff --git a/tests/test_tool.py b/tests/test_tool.py
index 937f9e7..9610d77 100644
--- a/tests/test_tool.py
+++ b/tests/test_tool.py
@@ -81,7 +81,7 @@ class TestHOCONConverter(object):
             f1: true
             f2: false
             g: []
-            h: None
+            h: null
             i:
             a.b: 2
         """

pip install -e .[dev]
parse_log_pytest
pytest
pytest mock
apt-get update apt-get install -y gcc
3.9
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
exceptiongroup @ file:///croot/exceptiongroup_1706031385326/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
mock==5.2.0
packaging @ file:///croot/packaging_1734472117206/work
pluggy @ file:///croot/pluggy_1733169602837/work
-e git+https://github.com/chimpler/pyhocon.git@4dfa3b8b3c2e254964f28127f2d12ce526217869#egg=pyhocon
pyparsing==3.2.3
pytest @ file:///croot/pytest_1738938843180/work
tomli @ file:///opt/conda/conda-bld/tomli_1657175507142/work

name: pyhocon
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - exceptiongroup=1.2.0=py39h06a4308_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - packaging=24.2=py39h06a4308_0
  - pip=25.0=py39h06a4308_0
  - pluggy=1.5.0=py39h06a4308_0
  - pytest=8.3.4=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tomli=2.0.1=py39h06a4308_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - mock==5.2.0
      - pyparsing==3.2.3
prefix: /opt/conda/envs/pyhocon

tests/test_tool.py::TestHOCONConverter::test_to_json tests/test_tool.py::TestHOCONConverter::test_to_yaml tests/test_tool.py::TestHOCONConverter::test_to_properties tests/test_tool.py::TestHOCONConverter::test_to_hocon tests/test_tool.py::TestHOCONConverter::test_convert_from_file
tests/test_tool.py::TestHOCONConverter::test_invalid_format
pyhocon/tool.py .travis.yml tox.ini
pyhocon/tool.py .travis.yml tox.ini