r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)
file.write(str(r['rating']))
JSONのデータにアクセスできません。何が悪いのですか?
TypeError: string indices must be integers, not str
r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)
file.write(str(r['rating']))
JSONのデータにアクセスできません。何が悪いのですか?
TypeError: string indices must be integers, not str
回答:
json.dumps()
辞書をstr
オブジェクトではなくオブジェクトに変換しjson(dict)
ます!したがってstr
、メソッドdict
を使用してそれを使用するには、にをロードする必要がありますjson.loads()
json.dumps()
保存メソッドおよびjson.loads()
取得メソッドとして参照してください。
これは、理解を深めるのに役立つコードサンプルです。
import json
r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)
loaded_r = json.loads(r)
loaded_r['rating'] #Output 3.5
type(r) #Output str
type(loaded_r) #Output dict
を使用して文字列に変換する必要はありません json.dumps()
r = {'is_claimed': 'True', 'rating': 3.5}
file.write(r['is_claimed'])
file.write(str(r['rating']))
dictオブジェクトから直接値を取得できます。
loaded_r
すでに持っていることを考えると、少し非効率だと思いませんr
か?