关于Json数据转换的知识点

1,前台如何转换Json?
https://jingyan.baidu.com/article/456c463b342b6c0a583144f9.html
在使用Json各种数据转换时需要用到的组件:Json常用组件 - Json.cn https://www.json.cn/component.html
github可以直接clone:https://github.com/douglascrockford/JSON-js
2,后台-List转换成json格式
https://www.cnblogs.com/K-artorias/p/6843147.html
所需jar包

<!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib -->
        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
        </dependency>

        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20180130</version>
        </dependency>

3,使用AJax接收后台Json数据并显示到前台的实例
实例一:SpringMVC框架,可以自动转换
https://blog.csdn.net/bin929/article/details/80278987

@RequestMapping(value="/findReply")
    @ResponseBody
    public Map<String, Object> findReply(int mid){
        System.out.println("mid:"+mid);
        List<Reply> replies=replyService.findReply(mid);
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("replies", replies);
        return map;
    }
var mid;
    function LookReply(mid){
        $.ajax({
            dataType:"json",
            type:"POST",
            url:"../reply/findReply.action",
            data:{mid:mid},
            success:function(data){
                var arr=data.replies;
                 for(var i=0;i<data.replies.length;i++){
                    var name=arr[i].replier;
                    var content=arr[i].reply;
                    var time=arr[i].time;
                    $('#reply_'+mid).prepend("<dl style='background-color:pink;'><dt>"+content+"</dt><dd>回复者:"+name+"</dd><dd>回复时间:"+time+"</dd></dl>");
                }  
            },error:function(data){
                alert(系统错误);
            }
        });
    }

也可以使用each遍历

<c:forEach items="${messages }" var="message">
            <div>
                <div>
                    <p><font color="red">${message.content }</font></p>
                </div>
                <div><button onclick="LookReply(${message.mid })">查看回复</button></div>
                <div id="reply_${message.mid }"></div>
            </div>

                <br>
        </c:forEach>

实例二:手动转的,其实没太大区别,前台我是参考这个写的。
jquery ajax获得list并显示 - CSDN博客 https://blog.csdn.net/lhw244/article/details/38438135

/**
     * 异步方法:得到list
     */
    public void getDetail2() {
        //前台传来的id
        String CWFS_ID = request.getParameter("CWFS_ID");

        List<Map<Object, Object>> fylist = null;

        List<Object> params = new ArrayList<Object>();
        Map<String,Object> res = new HashMap<String,Object>();
        StringBuffer fylistSql = new StringBuffer();
        try {
            this.beginSession();
            //select cwfyxm,cwfy from t_ca_cwfsmx where cwfs_id=
            fylistSql
                    .append(" select * from t_ca_cwfsmx where cwfs_id= "
                            + CWFS_ID);

            fylist = this.queryAll(fylistSql.toString());
            res.put("fylist", fylist);
            Struts2Utils.renderJson(res);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            this.close();
        }

    }

前台

function selectRow1(ID)
        {

                $.ajax({  
                   url:"</span><span style="color:#ff0000;">${ctx}/license/licensePlateProjectAction!getDetail2.action</span><span style="color:#000099;">",  
                   type:"post",  
                   dataType:"json",  
                   data:{CWFS_ID:ID},  //cwfyxm
                   success:function(json){ 

                       if(json){
                             var res = []; 
                             var num=1;
                             jQuery.each(json.fylist, function(i,item){
                                 res.push('<tr>');
                                 res.push('<td align="center" >' + num + '</td>');
                                 res.push('<td align="center" >' + item.CWFYXM + '</td>');
                                 res.push('<td align="center" >' + item.CWFY + '</td>');
                                 res.push('</tr>');
                                 num++;
                              });
                              $("#fylistDatas").empty().html(res.join(""));


                       }
                   }
                }); 

猜你喜欢

转载自blog.csdn.net/flower_CSDN/article/details/81517518
今日推荐