我有一个复杂的字符串转换为JSON
,却一点也不知道如何去做。基本上,要求是使用字符串参数并以特定的JSON
格式返回期望数据的函数。因此对于该功能,我可以执行以下操作:
function myfunction(value)
{
console.log(value);
}
由于我是JSON
格式的新手,并且看到了一些将字符串转换为JSON
格式的教程,终于找到了用于转换的方法:
console.log(JSON.stringify({ a: 10, b: 20 }));
对于我来说,我可以做到以下几点:
console.log(JSON.stringify(value));
现在我使用的字符串格式有点复杂并且不确定,我该如何执行以下转换,因为它暗示了一些逻辑?
输入:
if($A == $B) {
if($C == $D) {
if($E == $F) {
} else if($G == $H) {
} else if($I == $J) {
}
else if($K == $L) {
} else if($M == $N) {
if($AAA == $BBB) {
}
else if($CCC == $DDD) {
}
}
} else if($O == $P) {
if($Q == $R) {
if($S == $T) {
if($U == $V) {
}
}
}
}
} else if($W == $X) {
if($C == $D) {
if($E == $F) {
} else if($G == $H) {
} else if($I == $J) {
}
if($K == $L) {
} else if($M == $N) {
if($AAA == $BBB) {
}
else if($CCC == $DDD) {
}
}
} else if($O == $P) {
if($Q == $R) {
if($S == $T) {
if($U == $V) {
}
}
}
}
} else if($Y == $Z) {
}
输出:
{
"or":[
{
"and":[
{
"field": "A",
"operator": "==",
"value": "B"
},
{
"or":[
{
"and":[
{
"field": "C",
"operator": "==",
"value": "D"
},
{
"and":[
{
"or":[
{
"field": "E",
"operator": "==",
"value": "F"
},
{
"field": "G",
"operator": "==",
"value": "H"
},
{
"field": "I",
"operator": "==",
"value": "J"
},
{
"field": "K",
"operator": "==",
"value": "L"
},
{
"and":[{
"field": "M",
"operator": "==",
"value": "N"
},
{
"and":[
{
"or":[
{
"field": "AAA",
"operator": "==",
"value": "BBB"
},
{
"field": "CCC",
"operator": "==",
"value": "DDD"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"or":[
{
"and":[
{
"field": "O",
"operator": "==",
"value": "P"
},
{
"and":[
{
"and":[
{
"and":[
{
"field": "U",
"operator": "==",
"value": "V"
}
]
},
{
"field": "S",
"operator": "==",
"value": "T"
}
]
},
{
"field": "Q",
"operator": "==",
"value": "R"
}
]
}
]
}
]
}
]
},
{
"and":[
{
"field": "W",
"operator": "==",
"value": "X"
},
{
"or":[
{
"and":[
{
"field": "C",
"operator": "==",
"value": "D"
},
{
"and":[
{
"or":[
{
"field": "E",
"operator": "==",
"value": "F"
},
{
"field": "G",
"operator": "==",
"value": "H"
},
{
"field": "I",
"operator": "==",
"value": "J"
},
{
"field": "K",
"operator": "==",
"value": "L"
},
{
"and":[{
"field": "M",
"operator": "==",
"value": "N"
},
{
"and":[
{
"or":[
{
"field": "AAA",
"operator": "==",
"value": "BBB"
},
{
"field": "CCC",
"operator": "==",
"value": "DDD"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"or":[
{
"and":[
{
"field": "O",
"operator": "==",
"value": "P"
},
{
"and":[
{
"and":[
{
"and":[
{
"field": "U",
"operator": "==",
"value": "V"
}
]
},
{
"field": "S",
"operator": "==",
"value": "T"
}
]
},
{
"field": "Q",
"operator": "==",
"value": "R"
}
]
}
]
}
]
}
]
},
{
"field": "O",
"operator": "==",
"value": "P"
}]
}
NB :这是一个测试用例,正在努力使其正常运行。任何想法将不胜感激。