Last active
December 15, 2015 23:58
-
-
Save czy88840616/5343715 to your computer and use it in GitHub Desktop.
问题:从模板中推导出正确的json结构
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#set($orderList = $!{result.orderList}) | |
#foreach($order in $!orderList) | |
#set($shop = $!{order.shop}) | |
$!{shop.singleItemId} | |
#end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"result": { | |
"orderList": [ | |
{ | |
"shop": { | |
"singleItemId": "" | |
} | |
} | |
] | |
} | |
} |
1、先把变量转成对象
2、一旦碰到变量只有一个字符串,并且在foreach或者set中的,就移动一次对象(因为此时实质上的变量应该已经都变成一个大对象了,移动的只是这个对象)
这个逻辑不知道对不对。。待实验
挺爷加油。。。。
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
目前的方案:
1、正向推导
大概思路是碰到for循环就进入一个作用域,把作用域变量记录到栈中,当碰到一个变量的第一部分字符不是这个作用域变量时就出栈,然后继续组合变量
2、逆向推导
这也是目前的实现思路,其实是取巧了,因为逆过来可以避免作用域的问题(变量肯定是先定义再用的),所以倒过来的话变量就组装完了之后,才会碰到set和for,不过会碰到的问题就是json对象层级不对,需要拼合