我正在尝试用 Java 编写一个字符串扁平化器,它将以下模式转换为指定的形式。
{ x:1, y:1, z:{ a:1, b:2 } }
变平为
{ x:1, y:1, z.a:1, z.b:2 }
我打算用一个栈把{
和}
之间的内容加起来,解析完之后把内容pop回来,虽然,这变得复杂。在 Java 中还有其他更简单的方法吗?
最佳答案
使用堆栈一点也不复杂。伪代码:
read beginObject;
while(peekAtNext != endObject && !stack.isEmpty) {
read name;
read value;
if(value == beginObject) {
push name;
} else if (value == endObject) {
pop name;
} else {
write(fullStack + "." + name);
write(".");
write(value);
}
}
read endAbject;
没有比这简单得多的方法来做到这一点。
关于java - 如何编写字符串扁平化器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32062774/