常用json与javabean互转的方法实现
作者:郼嶧圛逸之君 发布时间:2023-01-07 14:24:19
标签:json,javabean,互转
JSONObject 与 JSONArray区别
JSONObject:
{
"area": "武汉",
"name": "张三",
"age": 25
}
JSONArray:
[{
“area”: “武汉”,
“name”: “张三”,
“age”: 25
},
{
“area”: “深圳”,
“name”: “李四”,
“age”: 22
}]
通俗来讲 JSONObject 是对象的json形式 JSONArry 是对象集合的JSON形式。
JSON 与javabean互转
JSON用阿里的fastjson 包
用例java对象
public class User {
protected Long id;
protected String account;
protected String password;
protected String name;
protected boolean gender;
protected String telephone;
@Override
public String toString() {
return "User{" +
"id=" + id +
", account='" + account + '\'' +
", password='" + password + '\'' +
", name='" + name + '\'' +
", gender=" + gender +
", telephone='" + telephone + '\'' +
'}';
}
public boolean isGender() {
return gender;
}
public void setGender(boolean gender) {
this.gender = gender;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
1、javabean转json
方法一:通过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"));
}
}
运行结果
方法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);
}
}
运行结果
json字符串转JSONObeject
public class TestMain {
public static void main(String []args){
String str="{\"password\":\"admin\",\"gender\":true,\"name\":\"张三\",\"telephone\":\"123456\",\"id\":1,\"account\":\"admin\"}";
JSONObject jsonObject=JSONObject.parseObject(str);
System.out.println("account: "+jsonObject.get("account")+"---"+"paasword: "+jsonObject.get("password"));
}
}
运行结果
3.jsonString 转JSONArray
public class TestMain {
public static void main(String []args){
String str="{\"data\":[{\"password\":\"admin\",\"gender\":true,\"name\":\"张三\",\"telephone\":\"123456\",\"id\":1,\"account\":\"admin\"}]}";
//先转成JSONObject
JSONObject jsonObject=JSONObject.parseObject(str);
//再将JSONObject中数组类型数据取出转成JSONArray
JSONArray jsonArray=jsonObject.getJSONArray("data");
System.out.println(jsonArray.get(0));
}
}
运行结果
4.JSON字符串转JAVA对象
String str="{\"password\":\"admin\",\"gender\":true,\"name\":\"张三\",\"telephone\":\"123456\",\"id\":1,\"account\":\"admin\"}";
// 前面是JSON字符串 后面是java对象类型
User user=JSONObject.parseObject(str,User.class);
System.out.println("account: "+user.getAccount()+"---"+"paasword: "+user.getPassword());
输出结果
来源:https://blog.csdn.net/zyz_YZJ/article/details/115443741


猜你喜欢
- 一、简介 TextureMapFragment:用于显示地图片段。 二、示例3--Demo03MapFragment.c
- 本文实例讲述了Android利用jsoup解析HTML页面的方法。分享给大家供大家参考,具体如下:这节主要是讲解jsoup解析HTML页面。
- C#实现的对两个Table进行Merge,两表必须存在至少一个公共栏位作为连接项,否则连接就失去了意义。如下是对两个table进行Merge
- 一、系统介绍本系统实现的以下功能管理员功能:登录系统、病人信息的增删改查、就医档案的录入、医生信息的增删改查、科室信息的增删改查、收费统计功
- 前言Elasticsearch是一个非常流行的搜索引擎,已经成为了许多企业的首选解决方案。然而,我们要想成为一个优秀的程序员,就必须掌握各种
- 目前Android在全世界市场上大约有75%的占有率,国人Android手机的持有比例更甚,甚至达到90%以上。因此搞计算机的一听说手机应用
- 举个例子Map < String , Object > jsonMap = new HashMap< String , O
- 同步方法和异步方法的区别同步方法调用在程序继续执行之前需要等待同步方法执行完毕返回结果异步方法则在被调用之后立即返回以便程序在被调用方法完成
- Android中实现定时器的四种方式第一种方式利用Timer和TimerTask1、继承关系java.util.Timer基本方法sched
- 目录SpringBoot 配置文件加密编码其他SpringBoot 配置文件加密本章将对SpringBoot配置文件中的数据加密做自定义开发
- 什么是深度优先什么是深度,即向下,深度优先,即向下优先,一口气走到底,走到底发现没路再往回走。在算法实现上来讲,深度优先可以考虑是递归的代名
- 1.首先在 build.gradle 里导入包implementation 'com.github.PhilJay:MPAndroi
- 1.打开File >> setting,选择Plugins>>Browse Repositories2.搜索Jreb
- 本篇文章主要记录一下Android中打开Wifi、获取Wifi接入点信息及连接指接入点的方法。自己写的demo主要用于测试接口的基本功能,因
- 一、什么是Java事务通常的观念认为,事务仅与数据库相关。  
- 官方文档:https://central.sonatype.org/publish/publish-maven/#a-complete-ex
- Hook是一种思想,也就是将原来的事件,替换到我们自己的事件,方便我们做一些切入处理。目的是不修改原来的代码,同时也避免遗漏的N多类里面处理
- 提示:java.util.zipoutputstream
- 题外由于idea原因 用注解test无法在控制台上输入所以写死到程序里了,版本都30.9102了为什么还是这样啊,intelJ你们该反思了!
- C#编程中,调用封装dll中的函数是高频使用的。那么,如何在程序中加载dll并调用其中的函数呢?更进一步的,如何在主程序中对自己封装的dll