javabean怎么转成json键值对?javabean转json方法

JSON是一种轻量级的数据交换格式,因为其高性能、可读性强的原因,成为了现阶段web开发中前后端交互数据的主要数据格式,那javabean怎么转成json键值对?下面来我们就来给大家讲解一下。

javabean是在jsp页面中,包含html代码、css代码、java代码、以及业务逻辑处理代码等。javabean的作用就是将html代码与java代码分离,**将java代码单独封装成一个处理某种业务逻辑的类**,然后在jsp中调用该类,实现降低耦合多和简化页面的作用。

javabean是特殊的java类,具有以下特征:

提供一个默认的无参构造函数。

需要被序列化并且实现了 Serializable 接口。

可能有一系列的 getter 或 setter 方法,决定了读、写属性。

用途:实现一些业务逻辑或封装一些业务对象。例如:字符串处理、数据库操作等。

javabean常用操作:

访问javaBean

访问javaBean的属性信息

使用< jsp:setProperty/ >标签来调用setter方法。

其中property="*" 所有名字和bean属性名匹配的请求参数,都会使用set方法为后者赋值。

value="<%=变量名%>"自定义赋值

pram="requset中参数名" requeset参数赋值

使用< jsp:getProperty/ > 调用getter方法。

实例:

step1:建立javabean(class文件,具有getter、setter和默认构造方法)

package com.mail.bean;
public class Email
{
    private String mailAdd;
    private boolean test;
    public Email()
    {}
    public Email(String mailAdd)
    {
        this.mailAdd = mailAdd;
    }
    public boolean isEamil()
    {
        // 正则表达式,定义邮箱格式
        String regex = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
        // matches()方法可判断字符串是否与正则表达式匹配
        if (mailAdd.matches(regex))
        {
            test = true;
        }
        return test;
    }
    public String getMailAdd()
    {
        return mailAdd;
    }
    public void setMailAdd(String mailAdd)
    {
        this.mailAdd = mailAdd;
    }
}
<!-- 输入邮箱 -->
<%@ page language="java" contentType="text/html; charset=utf8"
  pageEncoding="utf8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf8">
<title>Insert title here</title>
</head>
<body>
<form action="check.jsp"method="get" >
<input type="text" id="email" name="email"> 
<input type="submit" name="sumit" value="提交">
</form>
</body>
</html>
<!-- 验证邮箱 -->
<%@ page language="java" contentType="text/html; charset=utf8"
pageEncoding="utf8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf8">
</head>
<%
String s=request.getParameter("email"); 
%>
<jsp:useBean id="email" class="com.mail.bean.Email"></jsp:useBean>
<jsp:setProperty name="email" property="mailAdd" value="<%=s %>"/>
<body>
<jsp:getProperty name="email" property="mailAdd"/>
<%
if(email.isEamil()){
out.print("是正确格式的邮箱。");
}else{
out.print("不是正确格式的邮箱。");
}
%>
</body>
</html>

遇见的Bug

javabean怎么转成json键值对?javabean转json方法.jpg

没有定义无参数构造函数

方法一:通过java对象转成String再转成JSONObject

package com.handoop.gms.utils;
import com.alibaba.fastjson.JSONObject;
import com.handoop.gms.domain.User;
public class TestMain
{
    public static void main(String[] args)
    {
        //先通过构造函数初始化一个对象
        User user = new User((long) 1, "admin", "admin", "张三", true, "123456");
        //先将java对象转为String类型
        String jsonString = JSONObject.toJSONString(user);
        //再将String类型转为JSONObject
        JSONObject jsonObject = JSONObject.parseObject(jsonString);
        System.out.println(jsonObject);
        //转为JSONObject后就可以随时根据键值获取他的元素了
        System.out.println(jsonObject.get("password"));
    }
}

运行结果

1.jpg

方法2:java对象直接转json

package com.handoop.gms.utils;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.handoop.gms.domain.User;
public class TestMain
{
    public static void main(String[] args)
    {
        //先通过构造函数初始化一个对象
        User user = new User((long) 1, "admin", "admin", "张三", true, "123456");
        JSONObject jsonObject = (JSONObject) JSONObject.toJSON(user);
        System.out.println(jsonObject);
    }
}

运行结果

2.jpg

javabean是特殊的java类,经常会用到与json之间的转换,因此我们需要掌握好它的使用方法,以便更好的开发!最后大家如果想要了解更多其他工具教程知识,敬请关注奇Q工具网。

推荐阅读:

git的配置文件在哪?git的配置文件储存位置

json格式怎么转换成图片?Json转换有哪些方式?

java数组元素都会隐式初始化吗?数组如何初始化?