精华内容
下载资源
问答
  • J2EE下Servlet如何向前端传递json对象     以上添加这六个包 下载地址:https://download.csdn.net/download/qq_36692200/10050790 Servlet中的实现代码   JSONObject jsonObject = new JSONObject(); ...

                     J2EE下Servlet如何向前端传递json对象

     

     

    以上添加这六个包

    下载地址:https://download.csdn.net/download/qq_36692200/10050790

    Servlet中的实现代码
     

     JSONObject jsonObject = new JSONObject();
     jsonObject.put("messageDTOList", messageDTOList);
     response.setCharacterEncoding("utf-8");
     response.getWriter().write(jsonObject.toString());

    messageDTOList是一个对象。

    前端要如何识别这json对象的字符串呢
     

    function getMailList() {
            $.ajax({
                url:"<%=basePath%>mail/maillist",
                type: "get",
                contentType:"application/json",
                success: function (result, status) {
                    //主要是下面这句话解析出一个对象,并通过键值获取对象数组
                     var data = JSON.parse(result).messageDTOList;
                   
    
                     total = data.length;
                    pages = total / size ;
                    if(total % size != 0) {
                        pages += 1;
                    }
                    flag = 1;
                    setContent(startPage, data);
                    pageInfo(startPage, endPage, flag);
                },
                error: function (res) {
                    alert("获取数据失败");
                }
            });
    
        }



     

    展开全文
  • 比如后端的的很多json对象,名为“prop123”“prop456”等。 但是我在前台取的时候,“prop123”这个名字并不固定,是从form表单里取出的, 假如我们有了“prop123”这个字符串,怎么将这个字符串写到data.的后面...
  • 前端接收的json对象取值问题

    万次阅读 2018-11-12 10:42:08
    前端只能接收json对象类型的数据,使用之前先导入阿里巴巴的json的jar包。名字如下图所示,去白百度下载会即可。 阿里巴巴的jar包能把所有类型的数据转换成json对象,但是前端如果想要显示数据,只能接收数组类型的...

    后端给前端发送信息的格式

    前端只能接收json对象类型的数据,使用之前先导入阿里巴巴的json的jar包。名字如下图所示,去白百度下载会即可。在这里插入图片描述
    阿里巴巴的jar包能把所有类型的数据转换成json对象,但是前端如果想要显示数据,只能接收数组类型的数据。这里我们把数据放在hashmap中,以键值对的形式存储数据。然后把hashmap放在arraylist中,下面是我判断登录的信息的代码。

       String msg ="验证码不正确";
            String c ="";
            //处理数据
            ArrayList<HashMap<String,String>> list = new ArrayList();
            HashMap<String,String> map = new HashMap();
            //查询数据库里面的数据跟前端发送过来的数据是否相同
            User us= new UserImp().queryUser(username);
            //System.out.println(us);
            //登录不成功
            if(us==null){
                c="1002";
                 msg="账号不存在";
            }
            if(us!=null){
                if(!us.getPassWord().equals(password)){
                    c="1003";
                    msg="密码不正确";
                }
            }
            HttpSession session = request.getSession(true);
            String vacode = (String) session.getAttribute("vacode");
            if(vacode.equalsIgnoreCase(code)){
                //跳到主页
                session.setAttribute("User",us);
                c="1001";
            }
            map.put(c,msg);
             list.add(map);
            return JSON.toJSONString(list);
        }
    

    这样后端就把信息发送给了前端。

    前端接收数据

    前端接收的数据,打印出来是这样的类型,[{},{}].当然,我这里的代码返回去显示的样式是[{}]的,因为我只会返回一个数据。
    这里[]代表数组,里面的一个{}代表一个对象。如果用js接收,我们需要先解析json对象。

    function onLogin() {
    	var span = document.getElementsByClassName("msg")[0];
    	var username = document.getElementsByClassName("username")[0].value;
    	var password = document.getElementsByClassName("password")[0].value;
    	var passcode = document.getElementsByClassName("code")[0].value;
    	//console.log(username+" "+password);
    	//2.请求
    	//创建一个xmlhttprequest对象
    	var req = new XMLHttpRequest();
    	//设置请求方法 主机地址,是否异步
    	req.open("get","login.do?username="+username+"&password="+password+"&passcode="+passcode,true);
    	req.send();
    	//发送请求
    	//req.setRequestHeader("content-type", "application/x-www-form-urlencoded");
    	//3.监听状态
    	req.onreadystatechange = function() {
    		//console.log(req.readyState + " " + req.status);
    		if (req.readyState == 4 && req.status == 200) {
    			//响应成功
    			//console.log(req.responseText); //服务器响应回来的string数据
    			//将接收json字符创转成Json对象(只能转数组[])
    			var data = req.responseText;
    			//console.log(data);
    			var obj = eval(data);
    			//前端页面跳转到登录页面
    				//span.innerHTML=data;
    				//console.log(obj[0].code);	
    				//console.log(obj[0].msg);
    			if(obj[0].code!=1000){
    				alert(obj[0].msg);
    				return;
    }	
    				window.location.href = "index.html";
    			}
    		}
    	}
    

    这里eval(data)把它解析成obj对象。obj对象是数组里面加上一个对象,所以取出数组里面的第一个对象,使用对象.属性名取出它们的数据。

    使用jquary取出数据

    function onLogin() {
        //console.log( $(".username").val());
        $.post("login.do",{"username": $(".username").val(),"password":$(".password").val(),"code":$(".code").val()},function (data){
           for (var key in data[0]){
               if(key=="1001"){
                   window.location.href = "index.html";
               }else {
                   //alert(data[0][key]);
                   $("#msg").html(data[0][key]);
               }
           }
        },"json");
    

    可以使用for in 遍历数组,data[0]是数组里面的第一个对象。取出对象里面的所有key,通过key获取value。
    当然,这里面也可以用对象.属性名来取出数据。
    比如我有多个对象,由于ArrayList是存取有序的,这样我们可以选取哪个对象,data[i].该对象的属性名,也可以取出值。

    展开全文
  • @requestbody---接受前端json对象并绑定javabean----https://blog.csdn.net/ljxbbss/article/details/74452326 最近代码遇见了一个springmvc中的小问题,算是很基础的东西,同事问我后我有有些迷惑上网找了一些...

    @requestbody---接受前端传json对象并绑定javabean----https://blog.csdn.net/ljxbbss/article/details/74452326

    最近代码遇见了一个springmvc中的小问题,算是很基础的东西,同事问我后我有有些迷惑上网找了一些资料后弄清楚了。特此记录一下

    首先是后台代码使用springmvc注解@requestbody,前端采用了easyui结合angulajs,老大把前端代码封装了很多东西,其实我们都是表面做工,就只是停留在使用层面上,包括后端框架的环境配置上,之前也是自己搭项目适合拷贝了一个base框架,时间长了对配置里面的具体内容都不是太了解了。

    言归正传问题是这样的:

    1.前端做保存操作的时候提交了很多参数过来,老大封装的同时把前端代码提交的时候content-type改成了application/json,后台也配置了一个针对spring4的son类型的httpmessageConverter,某次提交的时候加了@requestbody注解的时候参数获取不上并且报参数400,400这个状态码我们很了解,是因为参数类型不对,后来才发现是因为同事后台参数定义的实体bean比传过来的参数少定义了一个参数导致报了400,这是第一个地方。

    2.平时我在写后台代码给前端app做接口的时候,其实并没有太在意,有些我都是直接没有用@requestbody这个注解,直接在入参的地方写了参数bean,也是可以直接解析到的。

    答案:经过一番百度,发现了原因。springmvc这个地方针对前端提交参数的时候,有几种content-type的类型,这个地方请参考这篇文章 :http://blog.csdn.net/blueheart20/article/details/45174399

    关键得是@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等。一般情况下来说常用其来处理application/json类型。并且@requestbody传送的参数需要是son对象即可;

    附:form默认的提交方式content-type是x-www-form-urlencoded,会将传递的参数转换成key-value方式。

     

     

    附带着说一下使用postman方式设置content-type为application/json方式测试后台接口

     

    这个地方需要把要发送的参数写成json对象的格式粘贴在raw下面,上面的路径上就不用写参数了。

    更多的postman设置content-type参考:http://blog.csdn.net/qq_25730711/article/details/54707603。

    转载于:https://www.cnblogs.com/czlovezmt/p/9118519.html

    展开全文
  • 我使用了外部包jackson(杰克逊哈哈哈啊)这个包里面的ObjectMapper 下的方法writeValueAsString() 可以把集合类或者自定义的类转化为json对象,前提是要有get方法 他获取的是方法名 例如 这个{"na...

    (说一下这个外部包jackson一般不用了,现在大家都用马云儿子的FastJson 下面服务器代码我就不改了大家随意用什么外部包)2019.1.14日改

    我使用了外部包jackson(杰克逊哈哈哈啊)这个包里面的ObjectMapper 下的方法writeValueAsString() 可以把集合类或者自定义的类转化为json对象,前提是要有get方法

    他获取的是方法名 例如  这个 {"name":"我是你的女儿呀!你你确定要这样吗?你对得起我麻麻吗?","id":"我是你爸爸,你要服从我的命令"} 里面有个getname方法 如果你把getname 改成gethaha 那么 json字符串变成这样 {"haha":"我是你的女儿呀!你你确定要这样吗?你对得起我麻麻吗?","id":"我是你爸爸,你要服从我的命令"}

    一定要导入jackson jar 包 jackson-annotations-2.2.1.jar jackson-core-2.2.1.jar  jackson-databind-2.2.1.jar  

    还有一个jquery.js

    下面是源代码 ,没有什么好说的 ,一个bean 类 一个 servlet 一个jsp

    bean

    package com;
    
    import com.fasterxml.jackson.core.JsonProcessingException;
    import com.fasterxml.jackson.databind.ObjectMapper;
    
    public class bean {
    private String name;
    private String ID;
    /**
     * @return name
     */
    public String getName() {
    	return name;
    }
    /**
     * @param name 要设置的 name
     */
    public void setName(String name) {
    	this.name = name;
    }
    /**
     * @return iD
     */
    public String getID() {
    	return ID;
    }
    /**
     * @param iD 要设置的 iD
     */
    public void setID(String iD) {
    	ID = iD;
    }
    
    	
    	
    }
    

      下面是 servlet   GetBean.java

    package com;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.fasterxml.jackson.databind.ObjectMapper;
    
    /**
     * Servlet implementation class GetBean
     */
    @WebServlet("/GetBean")
    public class GetBean extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            bean bbBean=new bean();
            request.setCharacterEncoding("UTF-8");
            response.setCharacterEncoding("UTF-8");
            bbBean.setID("我是你爸爸,你要服从我的命令");
            bbBean.setName("我是你的女儿呀!你你确定要这样吗?你对得起我麻麻吗?");
            ObjectMapper mapper =new ObjectMapper();
            导入jar包 创建对象 调用mapper writevalueasstring 方法把集合后者自定义类转化为json集合
            String jsonStr=mapper.writeValueAsString(bbBean);
            System.out.println(jsonStr);//调试输出json集合
            response.getWriter().print(jsonStr);
            
        }
    
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doGet(request, response);
            
        }
    
    }

    index.jsp

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <script src="${pageContext.request.contextPath}/js/jquery-1.12.1.js" type="text/javascript"></script>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>json</title>
    <script type="text/javascript">
    
    $(function(){
        
        $("a").click(function(){
            var url=this.href;
            var args={"time":new Date()};
        $.getJSON(url,args,function(data)
            {
            //alert(data.name);
            
            $("#message").html(data.name);
            $("#message1").html(data.id);
            
            }    
        
        
        
        );
        return false;
        }
        
        
        
        );
            
    }
            
            )
    
    </script>
    </head>
    <body>
    <center>
    <a href="GetBean">点我查看爸爸和女儿的对话</a><br>
    
    爸爸 :<label id="message1">&nbsp;</label><br>
    女儿 :<label id="message">&nbsp;</label>
    </center>
    </body>
    </html>

    下面是截图

    转载于:https://www.cnblogs.com/xuexidememeda/p/9160212.html

    展开全文
  • 前端JSON字符串转为JSON对象

    万次阅读 2018-09-29 22:02:15
    1)JSON字符串转为JSON对象(目前,我所知道的有四种实现方式) 1.1)JQuery方式 --其中string为JSON字符串 var temp = $.parseJSON(string) 1.2)(Firefox,chrome,opera,safari,ie)等浏览器支持的转换...
  • 本篇只是本人在自己开发中总结出的一个小问题点,主要是对http网络请求后获取到数据后的处理工作,充分利用了android studio的Gson功能,言简意赅的解决了json数据。 在理解了需求和目的的情况下,灵活的运用,这样...
  • 前端取值用JSON对象

    2019-07-11 16:58:00
    string类型转json对象 JSONObject jsonObject1 =JSONObject.parseObject(String) 前端取值的时候用 转载于:https://www.cnblogs.com/320321ABab/p/11171177.html
  • django返回json数据 需要导入 返回json格式的数据 ... ...需要序列化,因为jsonresponse不能返回非序列化的queryset,序列...转为json对象 import json from django.http.response import JsonResponse from djang
  • *注意 该方法只获取第一次出现的key对应的value public static String getJsonValue(String key, String jsonString) { //使用非贪婪模式 StringBuffer regex = new StringBuffer(); regex.append("\""); ...
  • 今天小编就为大家分享一篇springMvc 前端json的方式向后台传递对象数组方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 前端json对象对象json

    千次阅读 2015-01-06 15:30:43
    JSON.stringify(obj)将JSON转为字符串。 JSON.parse(string)将字符串转为JSON格式; var a={"name":"tom","sex":"男","age":"24"};   var b='{"name":"Mike","sex":"女","age":"29"}';   var aToStr=JSON....
  • SpringMVC 前端获得定义JSON对象的方法: 可以使用map进行对象的创建,这样就会解析成键值对,不需要为前端专门定义对象。
  • 前端JS代码 如下: var url = "web"; var postdata = { "history":[   {    "time":"2017-10-18 10:10:10", //time 字段:时间   "o
  • 前端json对象和数组

    2020-11-11 14:56:18
    Map maps = (Map)JSON.parse(str); //获取分配材料集合 List<Map> materials = (List<Map>) maps.get("materials"); LaJlWorkAcceptDto accept =(LaJlWorkAcceptDto)JSONObject.toBean...
  • JS获取JSON对象键值对中key的方法

    万次阅读 2019-03-06 17:18:19
    一、使用 Object.keys(obj)方法获取 JSON对象的key。 Object.keys( ) 会返回一个数组,数组中是这个对象的key列表。 Polyfill 要在原生不支持的旧环境中添加兼容的Object.keys,请复制以下代码段: if ...
  • 前端传入json转为java对象

    千次阅读 2018-04-17 09:14:17
    在实际开发中 遇到较复杂的json对象 如下:function sendJson() { var stu={ "id": "sdfs", "orgId": "sdfsdf", "schemeId": "sdfs", "...
  • var xtxmb = {} ; var arr = $('#form-xtxmb-add').serializeArray(); -- 获取表单数据,返回一个json对象数组 $.each(arr,function(index,element){ xtxmb[element.name] = element.value; })
  • 获取json对象的长度

    2018-01-01 19:23:00
    获取json数组结构的长度比较容易,但json对象结构的长度就比较麻烦。而本文就是对如何获取json对象的长度进行说明。 在说明如何获取json对象之前,我们需要了解下原生javaScript中的hasOwnProperty()方法,这个...
  • 前端解析json字符串或对象

    千次阅读 2019-02-27 16:58:30
    整个json采用 {} 包含, 对象采用{} 包含, 数组采用[] 包含, 属性直接使用
  • 前端js遍历json对象方法

    万次阅读 2017-06-07 14:49:01
    环境操作系统: win7情形最近遇到这么一个情况,后台使用LinkedHashMap处理好数据,在使用...后来,我后台处理采用List的方式来返回数据,顺序有了,前端遍历的时候,遇到困难。 最开始我是这么遍历的:for(var l
  • 需求:后端接收前端符合JSON格式的对象数组 前端传入: var objArray = [{name:"zhangsan",age:"22"},{name:"lisi",age:"20"}]; $.ajax({ url: '/ws_cim_topo/accident/query', data: {"list":JSON.stringify...
  • Java json数组对象获取前端使用js分页 使用ajax时,得到的返回值是一个json数组对象,现在需要对其进行分页显示,下面有两个js方法,一个是使用ajax,另一个就是分类。 在写这一块代码的时候的时候,有一个...
  • 前端读取json数据时候,可以使用以下方法读取对象的key if (network?.win) { for (const key in network.win) { netData1.push(key); } } else { for (const key in network) {
  • 在我们的项目中可以看到很多类似的multiRequestBodyDemo(@MultiRequestBody(“dog...这个注解可以将前端传进来的json数据进行解析成json数据。而如果我们没有采样@MultiRequestBody时,通常的做法是将其首先转成json
  • web前端获取JSON解决方案

    千次阅读 2011-09-05 15:11:55
    在由后台前台获取后台封装好的JSON 串时,千万别往了要用data.封装的集合或者是数组别名。不然会拿不到封装好的我们预期的结果 JSONObject json = new JSONObject();   try{   JSONArra
  • js获取json对象的key

    千次阅读 2015-09-10 16:22:00
    //2、遍历Json获取其属性 for(var item in jsonObj){ if(item==key){ //item 表示Json串中的属性,如'name' var jValue=jsonObj[item];//key所对应的value alert(jValue); } } //3、...
  • 主要介绍了django实现将后台model对象转换成json对象并传递给前端jquery,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • java后端无法接收到前端传递的json对象 一·可能是因为未使用@RequestBody 在Controller层中,要么使用@RestController要么使用@Controller+@RequestBody在使用的方法前定义。 @RestController @RequestMapping("/...
  • Gson处理前端传递过来的Json对象数组

    千次阅读 2016-11-06 12:32:50
    如何从前端传递Json对象数组到后台 场景:给后台传递对象数组,后台通过Gson解析,并把对象存放到List集合里面。在使用Gson前导入Gson的jar包gson-1.4.jar,在jar包里面有其核心类:Gson,JsonParser,JsonObject,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 100,473
精华内容 40,189
关键字:

前端获取json对象值