java对象与json对象间的相互转换的方法
发布时间 - 2026-01-10 22:21:20 点击率:次工程中所需的jar包,因为在网上不太好找,所以我将它放到我的网盘里了,如有需要随便下载。

点击下载
1.简单的解析json字符串
首先将json字符串转换为json对象,然后再解析json对象,过程如下。
JSONObject jsonObject = JSONObject.fromObject(jsonStr);
根据json中的键得到它的值
String name = jsonObject.getString("name");
int num = jsonObject.getInt("num");
String sex = jsonObject.getString("sex");
int age = jsonObject.getInt("age");
2.将json字符串转换为java对象
同样先将json字符串转换为json对象,再将json对象转换为java对象,如下所示。
JSONObject obj = new JSONObject().fromObject(jsonStr); //将json字符串转换为json对象
将json对象转换为java对象
Person jb = (Person)JSONObject.toBean(obj,Person.class); //将建json对象转换为Person对象
3.将java对象转换为json字符串
先将java对象转换为json对象,在将json对象转换为json字符串
JSONObject json = JSONObject.fromObject(obj); //将java对象转换为json对象 String str = json.toString();//将json对象转换为字符串
完整代码如下:
package baz.parse;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSON;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
import baz.bean.Person;
public class ParseJson {
private String jsonStr;
public ParseJson() {
}
public ParseJson(String str){
this.jsonStr = str;
}
/**
* 解析json字符串
*/
public void parse(){
JSONObject jsonObject = JSONObject.fromObject(jsonStr);
String name = jsonObject.getString("name");
int num = jsonObject.getInt("num");
String sex = jsonObject.getString("sex");
int age = jsonObject.getInt("age");
System.out.println(name + " " + num + " " + sex + " " + age);
}
//将json字符串转换为java对象
public Person JSON2Object(){
//接收{}对象,此处接收数组对象会有异常
if(jsonStr.indexOf("[") != -1){
jsonStr = jsonStr.replace("[", "");
}
if(jsonStr.indexOf("]") != -1){
jsonStr = jsonStr.replace("]", "");
}
JSONObject obj = new JSONObject().fromObject(jsonStr);//将json字符串转换为json对象
Person jb = (Person)JSONObject.toBean(obj,Person.class);//将建json对象转换为Person对象
return jb;//返回一个Person对象
}
}
package baz.bean;
public class Person {
private String name;
private int num;
private String sex;
private int age;
public Person() {
// TODO Auto-generated constructor stub
}
public Person(String name, int num, String sex, int age) {
super();
this.name = name;
this.num = num;
this.sex = sex;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
将java对象转换为json字符串
package baz.cons;
import net.sf.json.JSONObject;
/**
* 将java对象转换为json字符串
* @author Administrator
*
*/
public class ConsJson {
public ConsJson() {
// TODO Auto-generated constructor stub
}
public String Object2Json(Object obj){
JSONObject json = JSONObject.fromObject(obj);//将java对象转换为json对象
String str = json.toString();//将json对象转换为字符串
return str;
}
}
测试类:
package baz.test;
import java.util.List;
import baz.bean.Person;
import baz.cons.ConsJson;
import baz.parse.ParseJson;
public class Test {
public static void main(String[] args) {
//将字符串转换为json对象,然后根据建得到相应的值
ParseJson pj = new ParseJson("{\"name\":\"gu\",\"num\":123456,\"sex\":\"male\",\"age\":24}");
pj.parse();
//将一个json字符串转换为java对象
Person p = pj.JSON2Object();
System.out.println("Name:" + p.getName());
System.out.println("Num:" + p.getNum());
System.out.println("Sex:" + p.getSex());
System.out.println("age:" + p.getAge());
//将一个java对象转换为Json字符串
Person p1 = new Person("gu1",123,"male",23);
ConsJson cj = new ConsJson();
String str1 = cj.Object2Json(p1);
System.out.println(str1);
}
}
测试输出如下:
gu 123456 male 24
Name:gu
Num:123456
Sex:male
age:24
{"age":23,"name":"gu1","num":123,"sex":"male"}
这只是最简单使用方法,其他的使用我会在后期中更新。以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# java对象转换成json
# java将json转换对象
# java将对象转换为json
# java中常用的json
# jsonarray
# map数据结构与对象互转详解
# Java中对象 和 json 互转四种方式 json-lib、Gson、FastJson、Jacks
# java中json和对象之间相互转换的运用
# JAVA中JSONObject对象和Map对象之间的相互转换
# Java实现Json字符串与Object对象相互转换的方式总结
# 详谈Java中net.sf.json包关于JSON与对象互转的坑
# 基于JSON和java对象的互转方法
# java中实体类和JSON对象之间相互转化
# Java中Json字符串和Java对象的互转
# 转换为
# 先将
# 将建
# 会有
# 我会
# 不太
# 如有
# 其他的
# 所需
# 然后再
# 这只
# 点击下载
# 所示
# 将它
# 期中
# 最简单
# 再将
# 里了
# 大家多多
# 在网上
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
图册素材网站设计制作软件,图册的导出方式有几种?
如何彻底删除建站之星生成的Banner?
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
如何快速生成可下载的建站源码工具?
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
怎样使用JSON进行数据交换_它有什么限制
高端企业智能建站程序:SEO优化与响应式模板定制开发
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
EditPlus中的正则表达式实战(6)
javascript基本数据类型及类型检测常用方法小结
简单实现jsp分页
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
Laravel如何实现API版本控制_Laravel版本化API设计方案
HTML 中动态设置元素 name 属性的正确语法详解
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
javascript中的try catch异常捕获机制用法分析
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
独立制作一个网站多少钱,建立网站需要花多少钱?
Laravel如何处理文件下载请求?(Response示例)
如何在万网主机上快速搭建网站?
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
详解Android图表 MPAndroidChart折线图
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
大连 网站制作,大连天途有线官网?
如何在IIS中新建站点并配置端口与物理路径?
Linux系统运维自动化项目教程_Ansible批量管理实战
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
Laravel如何使用.env文件管理环境变量?(最佳实践)
如何快速搭建高效服务器建站系统?
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
EditPlus中的正则表达式 实战(1)
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
网站建设整体流程解析,建站其实很容易!
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
如何在景安服务器上快速搭建个人网站?
Python面向对象测试方法_mock解析【教程】
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
香港网站服务器数量如何影响SEO优化效果?
Laravel distinct去重查询_Laravel Eloquent去重方法
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
简历在线制作网站免费版,如何创建个人简历?
如何在香港免费服务器上快速搭建网站?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
Laravel模型事件有哪些_Laravel Model Event生命周期详解
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
上一篇:小象超市如何联系客服
上一篇:小象超市如何联系客服

