我正在尝试将某些数据保存到包含对象中的>>> import kombu
>>> from kombu import Connection, Exchange, Queue, Producer
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/kombu/__init__.py", line 81, in __getattr__
module = __import__(object_origins[str(name)], None, None, [str(name)])
File "/usr/local/lib/python2.7/site-packages/kombu/connection.py", line 15, in <module>
from kombu import exceptions
File "/usr/local/lib/python2.7/site-packages/kombu/exceptions.py", line 6, in <module>
from amqp import ChannelError, ConnectionError, ResourceError
File "/usr/local/lib/python2.7/site-packages/amqp/__init__.py", line 48, in <module>
from .basic_message import Message # noqa
File "/usr/local/lib/python2.7/site-packages/amqp/basic_message.py", line 29, in <module>
from .serialization import GenericContent
File "/usr/local/lib/python2.7/site-packages/amqp/serialization.py", line 33, in <module>
from .exceptions import FrameSyntaxError
File "/usr/local/lib/python2.7/site-packages/amqp/exceptions.py", line 264, in <module>
str(_method_name)
TypeError: Struct() argument 1 must be string, not unicode
。如果我只是使用javascript变量,我会这样做:
localStorage
但是尝试在var obj = obj || {};
obj.fname = 'bob';
console.log(obj.fname) // => "bob"
localStorage
为什么同样的技术不适用于window.localStorage.obj = window.localStorage.obj || {}
window.localStorage.obj.fname = 'bob';
console.log(window.localStorage.obj.fname) // => "[object Object]"
?有没有办法做到这一点?
答案 0 :(得分:3)
您必须对对象进行字符串化并将其存储在localstorage中。 然后当你需要它时,你必须JSON.parse json字符串。
var obj = {
b : 2
};
window.localStorage.obj = JSON.Stringify(obj);
var returnObj = JSON.parse(window.localStorage.obj);
答案 1 :(得分:2)
localStorage只能存储普通字符串,因此您需要
window.localStorage.obj = JSON.stringify({fname: 'bob});
然后阅读,你需要解析它,所以
var obj = JSON.parse(window.localStorage.obj);
console.log(obj.fname);
答案 2 :(得分:1)