我一直在研究这个问题已经有一段时间了。
我使用以下内容定义数组:
let newJsonObject = {
"billing_name": document.getElementsByName("order[billing_name]")[0].value,
"email": document.getElementsByName("order[email]")[0].value,
};
我从存储中获取数据并将其保存在名为parsedJson
的变量中,然后执行以下三个console.log
操作:
console.log(parsedJson);
console.log(parsedJson.billing_name);
console.log(parsedJson["billing_name"]);
首先返回一个具有以下内容的对象:
parameters:
{"billing_name": "123", "email": "123"}
但是,控制台中记录的以下两项内容是undefined
。
我还尝试使用没有引号的键创建对象,但我仍然未定义
我不明白为什么在定义对象时日志返回null。有没有人有任何建议?
编辑: 以下是我存储数据的方式:
chrome.storage.sync.set({"parameters": JSON.stringify(newJsonObject)});
以下是我访问它的方式:
chrome.storage.sync.get("parameters", params => {
if(params === null){
//Nothing is even set, simply return
return;
}else{
//Actually data saved in params
let parsedJson = params;
console.log(parsedJson);
console.log(parsedJson.parameters.billing_name);
console.log(parsedJson["billing_name"]);
答案 0 :(得分:0)
使用JSON.parse
将您的json字符串转换为对象
试试这个
console.log(JSON.parse(parsedJson.parameters).billing_name);
答案 1 :(得分:0)
试试这个:
var test = JSON.parse(parsedJson.parameters);
console.log(test.billing_name);
这将有效。