zoukankan      html  css  js  c++  java
  • Velocity(6)——velocity遍历josn格式的字符串

    使用velocity脚本语言遍历josn格式的字符串

    1、由于数据库会存储一些json格式的字符,为方便以后使用筛选

    如果这些数据我们查出来直接遍历使用velocity是根本行不通的,例如这样的话:java后端这样传

    @RequestMapping(value="/mad/velocity.html")
    public String test(ModelMap map){
        
        House h = hoseService.getHouse();
    
        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")
     2     public String test(ModelMap map){
     3         
     4         House h = hoseService.getHouse();
     5 
     6         String type = h.getAllType();
     7 
     8         map.put("type ", JSON.parseArray(type) );    
     9 
    10         return "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  =  jsonArray.getJSONObject(i) ;   

    的,

  • 相关阅读:
    ZeroMQ自查手册
    如何回答——请简述MySQL索引类型
    101. 对称二叉树
    66. 加一
    104. 二叉树的最大深度
    724.寻找数组的中心索引
    33. 搜索旋转排序数组
    快速排序
    Vue
    HTML
  • 原文地址:https://www.cnblogs.com/NiceCui/p/7774083.html
Copyright © 2011-2022 走看看