下面(string)以(string)的形式动态返回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)将(string)值转换为(JSON数组)?
注意:
- 字符串数据是动态的,每次都会被更改
- 字符串中的第一个值总是变化的
- OldValue,NewValue总是在对象 下面
如果您记录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]);
}