どのように私はPythonでJSONをシリアライズすることができますか?

Jafferウィルソン:

ここでは、コードで、エラーは次のとおりです。

import numpy as np
import json
X=np.arange(20)
t=dict(x=list(X))
print(json.dumps(t))

エラーは次のとおりです。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python35\lib\json\__init__.py", line 230, in dumps
    return _default_encoder.encode(obj)
  File "C:\Python35\lib\json\encoder.py", line 199, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "C:\Python35\lib\json\encoder.py", line 257, in iterencode
    return _iterencode(o, 0)
  File "C:\Python35\lib\json\encoder.py", line 180, in default
    raise TypeError(repr(o) + " is not JSON serializable")
TypeError: 0 is not JSON serializable

私は、このを取り除くために何ができるかを教えてください。私はプロットウィンドウにこの値を渡すためにしようとしていますと同じエラーが発生しています。

あなたの周り驚くべきこと:

あなたのJSONの値が適切に私は推測キャストタイプではありません。:クエリに関連する何かを見つけることを試みたTypeError例外は:JSONのシリアライズ可能なタイプ「int64型」の対象ではありません

ただ入力する必要があなたはそれをキャスト:

>>> t = dict(x=list(float(j) for j in X))
>>> json.dumps(t)
'{"x": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0]}'

私はそれがうまくいくと思います。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=365007&siteId=1