У меня есть некоторый JSON, который выглядит следующим образом, который объявлен как переменная с именем "jsonObjSuper":
{
"Watchlist": "My Watchlist",
"Instruments": {
"instrument1": [
"Company ABC",
[
{
"snapshotTimeUTC": "2018-11-01T00:00:00",
"snapshotTime": "2018/11/01 00:00:00"
}
]
],
"instrument2": [
"Company XYZ",
[
{
"snapshotTimeUTC": "2018-11-01T00:00:00",
"snapshotTime": "2018/11/01 00:00:00"
}
]
]
}
}
Я пытаюсь назначить keyPath для IndexedDB, используя «Список наблюдения» - код ниже:
request.onupgradeneeded = function(event) {
var db = event.target.result;
var key = jsonObjSuper["Watchlist"]
var objectStore = db.createObjectStore("instruments", { keyPath: key});
}
но когда я пытаюсь это сделать, я получаю эту ошибку:
"Uncaught DOMException: не удалось выполнить 'createObjectStore' для 'IDBDatabase': опция keyPath не является допустимым путем ключа."
Если я создаю файл console.log для переменной «key», то значение, которое просматривается, будет «My Watchlist», как и ожидалось.
Я также попытался JSON.stringify переменной «ключ», чтобы увидеть, если это что-то изменило, но все равно есть ошибка.
Что может быть причиной?
Большое спасибо