Нет причин для строкового преобразования JSON, так как в любом случае вы просто снова его анализируете.
Вы можете легко получить значение, выполнив localStorage.getItem или localStorage.param
Так что в приведенном выше примере вы бы сделали что-то вроде:
var bm1 = localStorage.getItem('bookmarks1');
Или вы может просто получить доступ по:
var bm1 = localStorage.bookmarks1
Ваша текущая настройка - это просто json.parse данные, которые будут возвращать JSON, а не значение, связанное с вашим ключом.
Чтобы получить только номер, просто сделайте ответ. Итак:
var bm1. = localStorage.bookmarks1[0].answer
или
var bm1 = localStorage.getItem('bookmarks1')[0].answer
Обратите внимание, что вы храните массив, поэтому вам нужно получить индекс 0, не похоже, что у вас более одного на запись.
Если у вас установлен Emacs 24.3 или новее, см. ответ Джо для альтернативы конфигурации, описанной ниже. Если вы будете использовать этот двойной прыжок более одного раза, возможно, стоит изменить tramp-default-proxies-alist
, как описано ниже, или установить tramp-save-ad-hoc-proxies
- t
.
Если у вас Emacs 23.1 или новее, то метод multi
больше не поддерживается. Вы можете добиться того же результата, настроив «прокси».
В конфигурационный файл .emacs
добавьте следующее:
(add-to-list 'tramp-default-proxies-alist
'("HOSTB" nil "/ssh:USERA@HOSTA:"))
Где HOSTB - это целевой хост за HOSTA.
Затем введите ] / ssh: USERB @ HOSTB :
, и emacs запросит пароль HOSTA, а затем пароль HOSTB.
Вы должны использовать ssh для двойного прыжка. В вашем .ssh / config:
Host <host that must be proxied too>
ProxyCommand ssh -qxT <gateway host> nc %h %p
В более ранних версиях Emacs у Tramp был метод multi
. В GNU Emacs 22 и ниже вы можете использовать его следующим образом:
/multi:ssh:user1@host1:ssh:user2@host2:/foo/bar/baz
, чтобы открыть / foo / bar / baz
на host2
. То же самое возможно в XEmacs, но с несколько другим синтаксисом. Вы также можете использовать разные методы доступа.