4

SQL クエリの結果から JSON を作成するスクリプトがあります。私が抱えている問題は、出力されるレコードの (エポックミリ秒) タイムスタンプが長く、long「適切な」JSON 番号ではなく、L が追加された標準の Python 表現を取得していることです。

{'status': 'default', 'ID': '7717''recordTimestamp': 1372651201000L, 'Latitude': 50.836689, 'Longitude': -53.879143}

これを生成するために使用していますが、JSON 形式の数値json.dumps(record)を作成する方法がわかりません。long誰もこれに対する迅速な解決策を持っていますか? ありがとう!

編集:UbuntuでPython 2.7.4を使用

4

3 に答える 3

0

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]'

したがって、encode_complex メソッドを定義して、intまたはlong型で何かを行うことができます。

于 2013-07-16T16:01:20.740 に答える
0

関数を使用できstr()ます:

str(longInt)

末尾を削除するにはL

于 2013-07-16T15:56:30.927 に答える