浅谈JSON

1.对象和Json之间的转换
<1>对象--->字符串:  JsonObject jsonObject=JsonObject.fromObject(对象);
<2>字符串-->对象:  
①.JsonObject jsonObject=JsonObject.fromObject(字符串);
②.对象=jsonObject.toBean(jsonObject,对象.class);
2.对象集合和字符串之间的转换
<1>对象集合--->字符串
JsonArray jsonArray=JsonArray.fromObject(对象集合);
<2>字符串---->对象集合
JsonArray jsonArray=JsonArray.fromObject(字符串);
对象集合=jsonArray.toCollection(jsonArray);
3.在JSP中使用Json
在jsp页面引入json.js文件
   <1>Json.stringify(对象)----->将JS对象转换成Json字符串

 

   <2>Json.parse-------->将Json字符串转成Js对象

 

 

代码实例:(连接数据库进行判断,由于时间问题,所以我就放了两个比较重要的代码上来了,其他的util、bean之类的类,相信以大家的能力不成问题的)

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录</title>
<script type="text/javascript" src="jQuery/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
	function User(uname,upwd){
		this.uname=uname;
		this.upwd=upwd;
	}
	$(function(){
		$("#bt").click(function(){
			var uname=$("#uname").val();
			var upwd=$("#upwd").val();
			var jsonString=JSON.stringify(new User(uname,upwd));
			$.post(
				"login.do",
				{
					"jsonString":jsonString
				},
				function(data){
					if(data=="true"){
						location.href="index.jsp";
					}else{
						alert("账号或者密码错误");
					}
				}
				);
		});
	});
	
</script>
</head>
<body>
	<table>
		<tr><td>账号:<input type="text" name="uname" id="uname"></td></tr>
		<tr><td>密码:<input type="text" name="upwd" id="upwd"></td></tr>
		<tr><td><input type="submit" value="登录" id="bt"></td></tr>
	</table>
</body>
</html>


Java代码:

 

 

package com.zking.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.zking.biz.UserBiz;
import com.zking.biz.UserBizImp;
import com.zking.entity.User;

import net.sf.json.JSON;
import net.sf.json.JSONObject;

public class LoginServlet extends HttpServlet{
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		String jsonString=req.getParameter("jsonString");
		JSONObject jsonObject=JSONObject.fromObject(jsonString);
		User u=(User) JSONObject.toBean(jsonObject, User.class);
		UserBiz ub=new UserBizImp();
		boolean b=ub.getLogin(u.getUname(), u.getUpwd());
		PrintWriter pw=resp.getWriter();
		if(b){
			pw.write("true");
			pw.close();
		}else{
			pw.write("false");
			pw.close();
		}
	}
}

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
form-data转json的方法可以使用JavaScript中的FormData对象和serializeArray()方法来实现。首先,我们可以使用FormData对象来获取表单中的所有数据,然后使用serializeArray()方法将FormData对象转换为一个包含键值对的数组。接下来,我们可以遍历这个数组,将每个键值对转换为一个JSON对象。在转换过程中,我们可以根据需要对值进行自定义处理,比如将空值转换为null。最后,将所有的JSON对象组合成一个对象数组并返回。 以下是一个示例代码,用于将form-data转换为JSON对象数组: ```javascript function transformToJson(form) { var jsonData = {}; var formData = new FormData(form); var formArray = $(form).serializeArray(); $.each(formArray, function() { var dataType = $("select\[name='" + this.name + "'\]").attr("data-type"); var value = this.value; if (value == "无" || value == "") { value = null; } if (jsonData\[this.name\]) { if (!jsonData\[this.name\].push) { jsonData\[this.name\] = \[jsonData\[this.name\]\]; } jsonData\[this.name\].push(value || ''); } else { if (dataType == 'array') { jsonData\[this.name\] = \[\]; jsonData\[this.name\].push(value || ''); } else { jsonData\[this.name\] = value || ''; } } }); return jsonData; } ``` 这个函数接受一个表单作为参数,并返回一个转换后的JSON对象数组。你可以将表单元素传递给这个函数,然后使用返回的JSON对象数组进行后续操作。 引用\[1\]中提到了form-data的两种格式:multipart/form-data和x-www-form-urlencoded。这个函数适用于x-www-form-urlencoded格式的form-data转换为JSON对象数组。如果你需要处理multipart/form-data格式的form-data,你可能需要使用其他方法来解析和处理这种格式的数据。 希望这个回答对你有帮助!\[1\]\[2\] #### 引用[.reference_title] - *1* *3* [浅谈 JSON 对象和 FormData 相互转换,打通前端与后端的通信血脉](https://blog.csdn.net/Shids_/article/details/128931933)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [表单数据转换为JSON对象 3种方法](https://blog.csdn.net/weixin_60664977/article/details/124453249)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值