Velocity(6)——velocity遍历josn格式的字符串使⽤velocity脚本语⾔遍历josn格式的字符串
后端字符串转数组1、由于数据库会存储⼀些json格式的字符,为⽅便以后使⽤筛选
如果这些数据我们查出来直接遍历使⽤velocity是根本⾏不通的,例如这样的话:java后端这样传
@RequestMapping(value="/mad/velocity.html")
public String test(ModelMap map){
House h = House();
String type = h.getAllType(); //String type = ["多功能⽅向盘","真⽪座椅","电动天窗","真⽪⽅向盘"];举例,和内容不⼀样
map.put("type ", type );
return "views/velocity";
}
前端:
1<div class="baseinfo ">
2<ul class="clearfix">
3            #foreach($a in $!{type})
4<li>$a</li>
5            #end
6</ul>
7</div>
你会发现什么都遍历不出来;
我们把从数据查出来的json形式的字符串转换⼀下呢,转换成JSONArray形式;
1 @RequestMapping(value="/mad/velocity.html")
2public String test(ModelMap map){
3
4        House h = House();
5
6        String type = h.getAllType();
7
8        map.put("type ", JSON.parseArray(type) );
9
10return "views/velocity";
11
12    }
只要经过  JSON.parseArray()    ⼀下返回⼀个  JSONArray 形式的就可以遍历了;
这⾥关于JSONArray 知识普及⼀下
⼀、JSONObject和JSONArray的数据表⽰形式
JSONObject的数据是⽤ {  } 来表⽰的,
例如:  { "id" : "123", "courseID" : "huangt-test", "title" : "提交作业", "content" : null  }
⽽JSONArray,顾名思义是由JSONObject构成的数组,⽤  [ { } , { } , ......  , { } ]  来表⽰
例如:  [ {  "id" : "123", "courseID" : "huangt-test", "title" : "提交作业" }  ,  {  "content" : null, "beginTime" : 1398873600000  "endTime" } ] ;
表⽰了包含2个JSONObject的JSONArray。
可以看到⼀个很明显的区别,⼀个最外⾯⽤的是 {  }  ,⼀个最外⾯⽤的是 [  ]  ;
⼆、如何从字符串String获得JSONObject对象和JSONArray对象
JSONObject  jsonObject  = new JSONObject ( String  str);
JSONArray jsonArray = new JSONArray(String    str  ) ;
三、如何从JSONArray中获得JSONObject对象
⼤家可以把JSONArray当成⼀般的数组来对待,只是获取的数据内数据的⽅法不⼀样
JSONObject  jsonObject  =  JSONObject(i) ;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。