Kuzunoha-NEのブログ

プログラミングなどの勉強をしてます

【Python】RedisにJSON形式の文字列を入れて、それをPythonで取得して辞書型に登録するっていう

こんばんは、葛の葉です。

Redisに入ったJSON形式の文字列をPythonで取得し、それを辞書型に変換して使用する、というのしてみました。

環境

Python 3.6.5

こんな感じ

以下がRedisに登録するJSONになります。

{
    "name": "葛の葉",
    "gender": "Male",
    "status": [
        "5.5",
        "xamp",
        "NGIX"
    ],
    "like": "Dragon_Fox",
}

redisに入る

redis-cli --raw

コマンド

127.0.0.1:6379> set 1 '{"name": "葛の葉","gender": "Male","status": ["5.5","xamp","NGIX"],"like": "Dragon_Fox"}' <- シングルクォーテーション

OK

127.0.0.1:6379> get 1

{"name": "葛の葉","gender": "Male","status": ["5.5","xamp","NGIX"],"like": "Dragon_Fox"}

Pythonで実行してみる。

>>> import redis
>>> import json
>>>
>>> r = redis.StrictRedis(host='127.0.0.1', port=6379, db=0)
>>> v = r.get('1').decode("UTF-8") # <- Redisで受け取ると`binary`型になるので.decode("UTF-8")
>>> dic = json.loads(v)
>>> print(dic['name'])
葛の葉