-import json
-
-_ENCODER_METHOD = 1
-_WRITE_METHOD = 2
-
-JSON_METHOD = None
-
-try:
- json.write({})
-except:
- JSON_METHOD = _ENCODER_METHOD
-
-try:
- json.JSONEncoder()
-except:
- JSON_METHOD = _WRITE_METHOD
-
-assert JSON_METHOD is not None
-
-
-def encode_json(data):
- """
- encodes json data given whatever json module we have access to (2.6 builtin or python-json)
- """
- if JSON_METHOD == _ENCODER_METHOD:
- j = json.JSONEncoder()
- return j.encode(data)
-
- elif JSON_METHOD == _WRITE_METHOD:
- return json.write(data)
-
- msg = "JSON_METHOD of value %s not supported." % (JSON_METHOD)
- raise ValueError, msg
\ No newline at end of file