0

これまで JSON を使用したことがありません。

151 の異なる定義済みリストを含むファイルがあります。私がやりたいことは、ファイルを読み取って、クラスを使用して、ファイルに格納されている情報から 151 個のオブジェクトを作成できるようにすることです。

私が抱えている問題は、ファイルを読み取ることができるということですが、オブジェクトを作成していません。私が理解できることから、これは、ファイルに 151 のリストに整数と文字列の両方のコンポーネントが含まれているためですが、読み取りファイルは文字列のみで構成されているためです。

私が理解しているように、JSONを見つけたので、情報を整数と文字列の両方としてシリアル化および逆シリアル化できます。したがって、クラスは151個のオブジェクトを作成できます。

ただし、JSON が正確にどのように機能するかを理解するのに問題があり、それに慣れていないため、エラー メッセージも理解するのに苦労しています。

したがって、受信したエラーは次のとおりです。

Traceback (most recent call last):
File "<pyshell#38>", line 1, in <module>
json.dump(Compile_Index, r"C:\Users\Aphrael\Desktop\Index.py")
File "C:\Python34\lib\json\__init__.py", line 178, in dump
for chunk in iterable:
File "C:\Python34\lib\json\encoder.py", line 429, in _iterencode
o = _default(o)
File "C:\Python34\lib\json\encoder.py", line 173, in default
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: <_io.TextIOWrapper name='C:\\Users\\Aphrael\\Desktop\\Index.py' mode='r+' encoding='cp1252'> is not JSON serializable

誰かが私が間違ってやろうとしていることを教えてくれ、正しいパスに設定してくれるか、JSONが私に伝えようとしていることが私のデータがシリアル化できない理由であることを説明してくれますか?

4

3 に答える 3

4

あなたがコードを投稿していないので、私は大げさな推測をするつもりです. あなたはこれをしました:

import json

with open('file.json') as f:
    json.loads(f)

それ以外の:

import json

with open('file.json') as f:
    json.loads(f.read())
于 2016-02-12T06:07:58.657 に答える