繁体   English   中英

如何从 python 插入和检索存储在 REDIS 中的 json?

[英]How to insert and retrieve a json stored in REDIS from python?

我正在努力使这段代码与 python 一起工作。

这是使用的代码:

r = redis.StrictRedis(host='192.168.22.108', port=6379, db=0, decode_responses=True) #Docker servers.

your_json = '["foo", {"bar":["baz", null, 1.0, 2]}]'
parsed = json.loads(your_json)
print(json.dumps(parsed, indent=4, sort_keys=True))

r.append('sabado', (parsed))

print ("Recuperamos de REDIS: ")
recuperado = r.get('sabado')
print ("tipo de variable de recuperado: "+str(type(recuperado)))
parsed2 = json.loads(recuperado)
print(json.dumps(parsed2, indent=4, sort_keys=True))


I am obteining this error:

Recuperamos de REDIS: 
tipo de variable de recuperado: <type 'unicode'>
Traceback (most recent call last):
File "pruebas_web.py", line 17, in <module>
    parsed2 = json.loads(recuperado)
File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
    return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

基本上我要做的是将 Json 存储在 redis 中并将其取回。

您将 JSON 的反序列化形式附加到键。 更改如下:

# r.append('sabado', (parsed))
r.set('sabado', your_json)

试试这个:

import redis

r = redis.Redis(host='0.0.0.0', port='6379')

jane = {'name': "Jane",'Age': 33,'Location': "Chawton"}

r.set('d2', json.dumps(jane))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM