从NodeJS中的复杂JSON字符串获取值

问题描述 投票:1回答:2

我已经拖钓了几个小时,收效甚微。我有以下字符串片段:

{
  "S:Envelope": ,
  "S:Body": [{
        "ns2:createTokenResponse": [{
              "$": {
                "xmlns:ns2": "http://IdentitySearch.nimc/"
              },
              "return": [{
                    "loginObject": [{
                          "timestamp": ["201912220556"],
                          "token": "rO0ABXNyABB1ZGYuTG9naW5NZXNzYWdlyuR/FrgVt2ECABVaAA1hdXRoZW50aWNhdGV
                            ...

鉴于节点中的上述字符串,如何访问时间戳或令牌的值?

感谢您的智慧。

arrays node.js json
2个回答
0
投票

// if you have a string use a = JSON.parse(a);

let a = {
  "S:Envelope": "",
  "S:Body": [{
    "ns2:createTokenResponse": [{
      "$": {
        "xmlns:ns2": "http://IdentitySearch.nimc/"
      },
      "return": [{
        "loginObject": [{
          "timestamp": ["201912220556"],
          "token": "rO0ABXNyABB1ZGYuTG9naW5NZXNzYWdlyuR/FrgVt2ECABVaAA1hdXRoZW50aWNhdGV"
        }]
      }]
    }]
  }]
};



let timestamp = a["S:Body"][0]["ns2:createTokenResponse"][0]["return"][0]["loginObject"][0]["timestamp"][0];

let token = a["S:Body"][0]["ns2:createTokenResponse"][0]["return"][0]["loginObject"][0]["token"];

console.log(timestamp);

console.log(token);

0
投票

如果此对象不仅使用https://www.npmjs.com/package/jsonpath,也>

或者只是转换为对象并访问其属性。

© www.soinside.com 2019 - 2024. All rights reserved.