繁体   English   中英

访问JavaScript对象

[英]Accessing a javascript object

我已经在这个问题上研究了很长时间了。

我正在定义使用以下数组:

  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);

尝试这个:

var test = JSON.parse(parsedJson.parameters);
console.log(test.billing_name);

这将起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM