我已经研究这个问题很长一段时间了。
我正在使用以下方法定义一个数组:
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"]);
使用JSON.parse
将您的 json 字符串转换为对象
试试这个
console.log(JSON.parse(parsedJson.parameters).billing_name);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句