How to force Python JSON output to exclude 'L' from longs How to force Python JSON output to exclude 'L' from longs json json

How to force Python JSON output to exclude 'L' from longs


json.dumps does not append trailing L.

>>> json.dumps({'status': 'default', 'ID': '7717', 'recordTimestamp': 1372651201000L, 'Latitude': 50.836689, 'Longitude': -53.879143})'{"status": "default", "Latitude": 50.836689, "Longitude": -53.879143, "ID": "7717", "recordTimestamp": 1372651201000}'>>> json.dumps(98765432109876543210L)'98765432109876543210'


You can use str() function:

str(longInt)

to remove the trailing L


See json doc:Specializing JSON object encoding:

>>> import json>>> def encode_complex(obj):...     if isinstance(obj, complex):...         return [obj.real, obj.imag]...     raise TypeError(repr(o) + " is not JSON serializable")...>>> json.dumps(2 + 1j, default=encode_complex)'[2.0, 1.0]'>>> json.JSONEncoder(default=encode_complex).encode(2 + 1j)'[2.0, 1.0]'>>> ''.join(json.JSONEncoder(default=encode_complex).iterencode(2 + 1j))'[2.0, 1.0]'

So you can define your encode_complex method, do something with int or long type.