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

标签 python json redis

我正在尝试让这段代码与 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 的反序列化形式附加到 key 中。更改如下:

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

关于python - 如何从 python 插入和检索存储在 REDIS 中的 json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59118276/

相关文章:

python - 有没有办法缩短多个 if 语句?

python - 如何解决Python套接字/套接字服务器连接[Errno 10048]和[Errno 10049]?

javascript - 如何使用 arcGis JavaScript 获取地址的经纬度

java - spring在redis中存储session的方法

python - 返回 Pandas 数据系列中第 n 个最大值的索引和列名

python - Django 子查询先前记录的子集

javascript - 为什么我无法调用 jQuery 函数?

android - 在列表行中动态添加更多卡片 android TV leanback

ruby-on-rails - Sidekiq Twilio Redis 'undefined method ` strip' for nil :NilClass'

spring - Redis 中的并发用于分布式系统中的闪购