如何在 TypeScript Angular 中动态地将普通字符串转换为 JSON 数组 8

How to convert from normal string to array of JSON Dynamically in TypeScript Angular 8

JSON 的以下(字符串)return 数组以(字符串)的形状动态显示:

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

How to convert the (string) value to (array of JSON) using (TypeScript in Angular 8)?

注:

如果您登录 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]);
}