【发布时间】:2019-10-30 22:49:15
【问题描述】:
我目前在修改 Json 架构时遇到问题,架构如下:
{
"$schema": "www.abc.com",
"compounds": {
"schemas": {
"Run": {
"type": "object",
"properties": {
"runContext": {
"type": "object",
"properties": {
"runNumber": {
"type": "integer"
},
"conveyanceType": {
"type": "string"
}
},
"required": [
"runNumber",
"conveyanceType"
]
}
}
}
}
}
}
我知道这可以使用递归来完成,并且我试图获取所需的项目(代码如下),但我不知道如何将所需的项目放回属性中并更改为布尔值。 提前致谢。
private modifyJson(jsonArr: any) {
//console.log(jsonArr);
for (let i in jsonArr) {
//console.log(typeof i);
let item = jsonArr[i];
if (typeof item === "object") {
//console.log("here " + JSON.stringify(item));
this.modifyJson(item);
if (i === "required") {
console.log("here required " + JSON.stringify(item));
for (let j in item) {
//console.log(item[j]);
const required = item[j]; //fetch required item
}
}
}
}
}
我想把它变成这样的格式:
{
"$schema": "www.abc.com",
"compounds": {
"schemas": {
"Run": {
"type": "object",
"properties": {
"runContext": {
"type": "object",
"properties": {
"runNumber": {
"type": "integer",
"required": true
},
"conveyanceType": {
"type": "string",
"required": true
}
}
}
}
}
}
}
}
【问题讨论】:
标签: javascript json algorithm typescript