【问题标题】:Get Value from Complex JSON string in NodeJS从 NodeJS 中的复杂 JSON 字符串中获取值
【发布时间】:2020-04-13 22:34:21
【问题描述】:

我已经拖钓了几个小时,但收效甚微。 我有以下字符串 sn-p:

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

根据 Node 中的上述字符串,我如何访问时间戳或令牌的值?

感谢你的智慧。

【问题讨论】:

标签: arrays node.js json


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    如果不只是这个对象使用https://www.npmjs.com/package/jsonpath

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-30
      • 2021-07-13
      • 1970-01-01
      • 2016-02-17
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      相关资源
      最近更新 更多