访问javascript对象

时间:2017-11-21 04:05:38

标签: javascript

我一直在研究这个问题已经有一段时间了。

我使用以下内容定义数组:

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

Here is a link to what is displayed in console

2 个答案:

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

这将有效。