【问题标题】:How to convert from normal string to array of JSON Dynamically in TypeScript Angular 8如何在 TypeScript Angular 8 中动态地将普通字符串转换为 JSON 数组
【发布时间】:2021-10-04 21:39:52
【问题描述】:

下面的(字符串)以(字符串)的形式动态返回 JSON 数组:

let test = '{ "UserDepartmentName": { "OldValue":"Abc123", "NewValue": "Abc123456"  }, "ModifiedDate": { "OldValue":"5/19/2021 12:37:22 PM", "NewValue": "5/24/2021 4:12:21 PM"  } }'
  }'
console.log(test)

我需要将此(字符串)转换为(JSON 数组)以提取如下数据:

{
   "UserDepartmentName":{
      "OldValue":"Abc123",
      "NewValue":"Abc123456"
   },
   "ModifiedDate":{
      "OldValue":"5/19/2021 12:37:22 PM",
      "NewValue":"5/24/2021 4:12:21 PM"
   }
}

我使用下面的技术来做到这一点,但第一个值 UserDepartmentName 没有出现:

jsonconvert(json) {
 
    const obj = JSON.parse('{ "UserDepartmentName": { "OldValue":"Abc123", "NewValue": "Abc123456"  }, "ModifiedDate": { "OldValue":"5/19/2021 12:37:22 PM", "NewValue": "5/24/2021 4:12:21 PM"  } }');
 
    console.log(json);
 
    for (var i in obj) {
      console.log(obj[i]);
    }
 
  }

如何使用(Angular 8 中的 TypeScript)将(字符串)值转换为(JSON 数组)?

注意:

  • 字符串数据是动态的,每次都会改变
  • 字符串中的第一个值总是在变化
  • OldValue 和 NewValue 始终位于其中一个对象下

【问题讨论】:

    标签: json typescript angular8


    【解决方案1】:

    如果您记录console.log(obj),您可以看到它正在被解析。如果我运行您的代码,它实际上会记录“UserDepartmentName”的值 - 但不是它自己的键:

    {OldValue: "Abc123", NewValue: "Abc123456"}
    {OldValue: "5/19/2021 12:37:22 PM", NewValue: "5/24/2021 4:12:21 PM"}
    

    如果你想记录密钥,你可以像这样迭代:

    for (var i in obj) {
        console.log(i + '= ', obj[i]);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-27
      • 2021-06-27
      相关资源
      最近更新 更多