javascript - 在不知道 sessionStorage 中的键名称的情况下访问 JSON 对象的元素

标签 javascript json session-storage

{
  "profile": {
    "_elapsedTime": "243",
    "code": "00",
    "data": {
      "acctNr": 3962480,
      "acctStusCd": "A",
      "acctTyp": "C",
      "addresses": [
        {
          "addrCityNm": "DO NOT SHIP",
          "addrCntryCd": "US",
          "addrLine1Txt": "DO NOT SHIP",
          "addrLocTyp": "HOME",
          "addrStCd": "IL",
          "addrZipCd": "60053"
        }
      ],
      "apptDt": "2004-09-02T00:00:00",
      "autoDbtCd": " ",
      "brthdyDt": "1911-11-11T00:00:00",
      "btyAdvrLvlTyp": "0",
      "campaignEndDt": "2017-02-17T00:59:59",
      "campaigns": [
        {
          "cmpgnNr": 5,
          "cmpgnYrNr": 2017,
          "mrktId": 75,
          "success": false
        },
        {
          "cmpgnNr": 6,
          "cmpgnYrNr": 2017,
          "mrktId": 75,
          "success": false
        },
        {
          "cmpgnNr": 4,
          "cmpgnYrNr": 2017,
          "mrktId": 75,
          "success": false
        }
      ],
      "currBalAmt": 0,
      "currSlsCmpgnNr": 5,
      "currSlsYrNr": 2017,
      "currentDtTime": "2017-01-30T14:48:29",
      "daysLeft": "16",
      "deliveryTypeList": [
        {
          "deliveryFromDt": "2017-01-30T14:48:29",
          "deliveryToDt": "2017-02-16T00:00:00",
          "deliveryType": "REG",
          "deliveryTypeLabel": "Regular"
        },
        {
          "deliveryFromDt": "2017-01-30T14:48:29",
          "deliveryToDt": "2017-02-01T14:48:29",
          "deliveryType": "SEP",
          "deliveryTypeLabel": "Separate"
        }
      ],
      "districtNumber": "5999",
      "divisionNumber": "594",
      "dstrbtnCntrCd": "018",
      "emailAddrTxt": "julie.silsby@avon.com",
      "evngPhonNr": "0000000000",
      "flexOrderingEndDate": "2017-02-21T23:59:59",
      "frstNm": "TEST",
      "initCmpgnNr": 18,
      "initCmpgnYrNr": 2004,
      "instntCrdtStusCd": "Y",
      "labcInd": "\u0000",
      "langCd": "E",
      "lastNm": "ACCOUNT",
      "ldrShipLvl": "X",
      "ldrshpTyp": "X",
      "loaNr": 324,
      "mainFrameInd": true,
      "mgrPrsnlRepAcctInd": "N",
      "natnlFutrCmpgnOrdInd": "N",
      "onlnOrdSbmsnDt": "2017-02-15T23:59:59",
      "opportunity": [
        {
          "cmpgn": {
            "cmpgnNr": 6,
            "cmpgnYrNr": 2017,
            "mrktId": 75,
            "success": false
          },
          "cmpgnNr": 6,
          "cmpgnYrNr": 2017,
          "futureCampaignEndDate": "2017-02-22T01:00:00",
          "itemCampaignList": [
            {
              "cmpgnNr": 6,
              "cmpgnYrNr": 2017,
              "mrktId": 75,
              "success": false
            },
            {
              "cmpgnNr": 5,
              "cmpgnYrNr": 2017,
              "mrktId": 75,
              "success": false
            },
            {
              "cmpgnNr": 4,
              "cmpgnYrNr": 2017,
              "mrktId": 75,
              "success": false
            }
          ],
          "onlnOrdSbmsnDt": "2017-03-03T00:59:59",
          "opptId": "5999",
          "opptTyp": "REG",
          "ordTyp": "REG",
          "rpsCmpgnEndDt": "2017-03-03T00:59:59",
          "rpsCmpgnStrtDt": "2017-02-17T01:00:00",
          "rpsOrdDueDt": "2017-03-01T23:59:59",
          "rpsShpngDt": "2017-03-02T00:00:00",
          "slngOprtntyTyp": "REG",
          "success": false
        },
        {
          "cmpgn": {
            "cmpgnNr": 4,
            "cmpgnYrNr": 2017,
            "mrktId": 75,
            "success": false
          },
          "cmpgnNr": 4,
          "cmpgnYrNr": 2017,
          "futureCampaignEndDate": "2016-12-18T01:00:00",
          "itemCampaignList": [
            {
              "cmpgnNr": 4,
              "cmpgnYrNr": 2017,
              "mrktId": 75,
              "success": false
            },
            {
              "cmpgnNr": 3,
              "cmpgnYrNr": 2017,
              "mrktId": 75,
              "success": false
            }
          ],
          "onlnOrdSbmsnDt": "2017-01-19T00:59:59",
          "opptId": "5999",
          "opptTyp": "REG",
          "ordTyp": "REG",
          "rpsCmpgnEndDt": "2017-01-19T00:59:59",
          "rpsCmpgnStrtDt": "2017-01-05T01:00:00",
          "rpsOrdDueDt": "2017-01-17T23:59:59",
          "rpsShpngDt": "2017-01-18T00:00:00",
          "slngOprtntyTyp": "REG",
          "success": false
        },
        {
          "cmpgn": {
            "cmpgnNr": 5,
            "cmpgnYrNr": 2017,
            "mrktId": 75,
            "success": false
          },
          "cmpgnNr": 5,
          "cmpgnYrNr": 2017,
          "futureCampaignEndDate": "2017-01-13T01:00:00",
          "itemCampaignList": [
            {
              "cmpgnNr": 5,
              "cmpgnYrNr": 2017,
              "mrktId": 75,
              "success": false
            },
            {
              "cmpgnNr": 4,
              "cmpgnYrNr": 2017,
              "mrktId": 75,
              "success": false
            },
            {
              "cmpgnNr": 3,
              "cmpgnYrNr": 2017,
              "mrktId": 75,
              "success": false
            }
          ],
          "onlnOrdSbmsnDt": "2017-02-17T00:59:59",
          "opptId": "5999",
          "opptTyp": "REG",
          "ordTyp": "REG",
          "rpsCmpgnEndDt": "2017-02-17T00:59:59",
          "rpsCmpgnStrtDt": "2017-01-19T01:00:00",
          "rpsOrdDueDt": "2017-02-15T23:59:59",
          "rpsShpngDt": "2017-02-16T00:00:00",
          "slngOprtntyTyp": "REG",
          "success": false
        }
      ],
      "opsCampaignStrtDt": "2017-01-13T01:00:00",
      "pastDueStusCd": "0",
      "payByChkStusCd": "Y",
      "prsdntClubStusCd": " ",
      "prsnlWebPage": "Y",
      "pswrdHint": "password2",
      "qpPinAvlbltyInd": false,
      "repAcsInd": "N",
      "repClubLvlCd": "DEFAULT",
      "repClubTypes": [
        {
          "prsdntClubInd": "Y",
          "repClubTypCd": "DEFAULT"
        }
      ],
      "repCustCount": 3,
      "repEnrlments": [
        {
          "enrldTyp": "PBLREL",
          "enrlmtStusCd": "N"
        },
        {
          "enrldTyp": "ACC",
          "enrlmtStusCd": "Y"
        },
        {
          "enrldTyp": "EREP",
          "enrlmtStusCd": "Y"
        }
      ],
      "repEnrollmentType": "E",
      "repMgrEmail": "5999@avon.com",
      "repPblctyRelInd": "N",
      "repPrfrdPrvwInd": "N",
      "rpsCd": "Z",
      "rpsCmpgnEndDt": "2017-02-17T00:59:59",
      "rpsCmpgnStrtDt": "2017-01-19T01:00:00",
      "rpsOrdDueDt": "2017-02-15T23:59:59",
      "rpsShpngDt": "2017-02-16T00:00:00",
      "sdrshipLvl": "X",
      "shpngFcltyCd": "015",
      "ssn": "1111",
      "tierCd": "U",
      "timeZone": "EST",
      "trckRouteCd": "HOLD",
      "trndsttrInd": "N",
      "vanityName": "jsilsby13"
    },
    "mrktCd": "US",
    "success": true,
    "timeStamp": "2017-01-30T14:48:29",
    "token": "71464bf401c522a91e859d4c15d22e570ee50e311e23b610a61b6f76a011c296935e1349afd54057efa3a8a7b85391b79570c628197f2066"
  }
}

这是我进入 sessionStorage 的 JSON 对象。在控制台 > 应用程序 > session 存储中,我看到这个键 — ngStorage-getRepInfo ,后跟上面代表值的代码片段。

基本上我不确定如何获取这个名字。我查看了 DOM,但没有看到这个 ngStorage-getRepInfo标记在任何地方,所以我认为它是动态的( Angular )。

下面我使用此语法作为占位符。

{}.profile.data.vanityName

我想要做的是获取其中一个值并将其显示在 DOM 中(无 jQuery)。

最佳答案

事实证明,我对您无法访问'ngStorage-getRepInfo'的假设是错误的。

您必须执行以下操作:

var session = sessionStorage.getItem("ngStorage-getRepInfo"),
    obj = JSON.parse(session);

The JSON.parse() method parses a JSON string, constructing the JavaScript value or object described by the string. An optional reviver function can be provided to perform a transformation on the resulting object before it is returned.

然后像任何其他对象一样向下钻取:

console.log(obj.profile.data.vanityName); //returns vanityName value

关于javascript - 在不知道 sessionStorage 中的键名称的情况下访问 JSON 对象的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41946196/

相关文章:

javascript - 访问下拉列表的 DOM 元素

java - 如何将日期字符串从 JSON 转换为时间跨度

javascript - $.getJSON 不返回结果

json - Groovy使用匿名数组将json转换为xml失败

javascript - 刷新页面时在输入字段中保留值

javascript - 根据 JSON 中可用的值将嵌套 json 转换为特定格式的字符串

javascript - 简单的 Javascript 查找和替换

javascript - HTML5 本地存储与 session 存储

javascript - 使用 Vue-Treeselect 时找不到添加新项目的方法

javascript - 在本地保存和重新加载值的问题