工程中所需的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对象转换为字符串
完整代码如下:
[java] view plain copy
  1. package baz.parse;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import net.sf.json.JSON;
  5. import net.sf.json.JSONArray;
  6. import net.sf.json.JSONObject;
  7. import net.sf.json.JSONSerializer;
  8. import baz.bean.Person;
  9. public class ParseJson {
  10. private String jsonStr;
  11. public ParseJson() {
  12. }
  13. public ParseJson(String str){
  14. this.jsonStr = str;
  15. }
  16. /**
  17. * 解析json字符串
  18. */
  19. public void parse(){
  20. JSONObject jsonObject = JSONObject.fromObject(jsonStr);
  21. String name = jsonObject.getString("name");
  22. int num = jsonObject.getInt("num");
  23. String sex = jsonObject.getString("sex");
  24. int age = jsonObject.getInt("age");
  25. System.out.println(name + " " + num + " " + sex + " " + age);
  26. }
  27. //将json字符串转换为java对象
  28. public Person JSON2Object(){
  29. //接收{}对象,此处接收数组对象会有异常
  30. if(jsonStr.indexOf("[") != -1){
  31. jsonStr = jsonStr.replace("[", "");
  32. }
  33. if(jsonStr.indexOf("]") != -1){
  34. jsonStr = jsonStr.replace("]", "");
  35. }
  36. JSONObject obj = new JSONObject().fromObject(jsonStr);//将json字符串转换为json对象
  37. Person jb = (Person)JSONObject.toBean(obj,Person.class);//将建json对象转换为Person对象
  38. return jb;//返回一个Person对象
  39. }
  40. }
[java] view plain copy
  1. package baz.bean;
  2. public class Person {
  3. private String name;
  4. private int num;
  5. private String sex;
  6. private int age;
  7. public Person() {
  8. // TODO Auto-generated constructor stub
  9. }
  10. public Person(String name, int num, String sex, int age) {
  11. super();
  12. this.name = name;
  13. this.num = num;
  14. this.sex = sex;
  15. this.age = age;
  16. }
  17. public String getName() {
  18. return name;
  19. }
  20. public void setName(String name) {
  21. this.name = name;
  22. }
  23. public int getNum() {
  24. return num;
  25. }
  26. public void setNum(int num) {
  27. this.num = num;
  28. }
  29. public String getSex() {
  30. return sex;
  31. }
  32. public void setSex(String sex) {
  33. this.sex = sex;
  34. }
  35. public int getAge() {
  36. return age;
  37. }
  38. public void setAge(int age) {
  39. this.age = age;
  40. }
  41. }

将java对象转换为json字符串

[java] view plain copy
  1. package baz.cons;
  2. import net.sf.json.JSONObject;
  3. /**
  4. * 将java对象转换为json字符串
  5. * @author Administrator
  6. *
  7. */
  8. public class ConsJson {
  9. public ConsJson() {
  10. // TODO Auto-generated constructor stub
  11. }
  12. public String Object2Json(Object obj){
  13. JSONObject json = JSONObject.fromObject(obj);//将java对象转换为json对象
  14. String str = json.toString();//将json对象转换为字符串
  15. return str;
  16. }
  17. }

测试类:

[java] view plain copy
  1. package baz.test;
  2. import java.util.List;
  3. import baz.bean.Person;
  4. import baz.cons.ConsJson;
  5. import baz.parse.ParseJson;
  6. public class Test {
  7. public static void main(String[] args) {
  8. //将字符串转换为json对象,然后根据建得到相应的值
  9. ParseJson pj = new ParseJson("{\"name\":\"gu\",\"num\":123456,\"sex\":\"male\",\"age\":24}");
  10. pj.parse();
  11. //将一个json字符串转换为java对象
  12. Person p = pj.JSON2Object();
  13. System.out.println("Name:" + p.getName());
  14. System.out.println("Num:" + p.getNum());
  15. System.out.println("Sex:" + p.getSex());
  16. System.out.println("age:" + p.getAge());
  17. //将一个java对象转换为Json字符串
  18. Person p1 = new Person("gu1",123,"male",23);
  19. ConsJson cj = new ConsJson();
  20. String str1 = cj.Object2Json(p1);
  21. System.out.println(str1);
  22. }
  23. }

测试输出如下:
gu 123456 male 24
Name:gu
Num:123456
Sex:male
age:24
{"age":23,"name":"gu1","num":123,"sex":"male"}

转载于:https://my.oschina.net/u/1780920/blog/500081

java对象与json对象间的相互转换相关推荐

  1. java对象与json对象间的相互转换的方法

    String json=JSON.toJSONString(user);//关键 1.简单的解析json字符串 首先将json字符串转换为json对象,然后再解析json对象,过程如下. 1 JSON ...

  2. java 视图对象转换,使用spring boot开发时java对象和Json对象转换的问题_JavaScript_网络编程...

    将java对象转换为on对象,市面上有很多第三方jar包,如下: jackson(最常用) com.fasterxml.jackson.core jackson-databind 2.11.2 gso ...

  3. Java对象转换为Json对象

    前言 曾几何时,XML是程序员的宠儿,是数据传输.API.AJAX应用等方面的不二选择,但自从JSON横空出世后,或者你会发觉你身边就有很多人开始抛弃XML,在他们的心目中,JSON已经完全取代了XM ...

  4. java对象和json对象之间互相转换

    2019独角兽企业重金招聘Python工程师标准>>> import java.util.ArrayList; import java.util.Collection; import ...

  5. jsp 将java对象转json对象 (自定义EL函数)

    功能:在 jsp 页面将 java对象 转换为 json对象 (使用自定义EL函数实现) 步骤: 1. 创建 JSP EL 工具类 2. 创建 tld 文件 3. 配置 web.xml 文件 4. 完 ...

  6. java map转JSON对象

    java map转JSON对象 net.sf.json.JSONObject.fromObject(map)

  7. JavaScript对象、JSON对象、JSON字符串的区别

    一.首先看下什么是JSON JSON:JavaScript Object Natation,JavaScript对象的表现形式,已经发展成一种轻量级的数据交换格式. JavaScript对象的表现形式 ...

  8. SpringBoot将自定义对象转JSON对象问题研究

    SpringBoot JSON序列化自定义对象研究 1. 问题描述 1.1 工程代码 1.2 测试 2. 问题分析 2.1 初步分析结论 2.2 实验验证结论 2.3 问题拓展 3. 结论 摘要(干货 ...

  9. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...

    json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 原文:json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 主要内容: 一 ...

最新文章

  1. 计算机的图形用户界面,2017计算机等级考试知识点:认识图形用户界面
  2. 如何找出Fiori frontend server的systen ID
  3. 【操作系统/OS笔记01】课程概要、什么是操作系统
  4. python可以参加哪些竞赛_找出Python竞赛中可达到的分数的程序
  5. 视频剪辑软件对比之:会声会影与剪映
  6. 瑞利衰落信道仿真---Clarke Jakes Zheng模型(含matlab程序)
  7. 500强企业校园招聘经典面试问题汇编
  8. 打印纸张尺寸换算_电脑打印纸规格全记录
  9. HTML5 实例:旋转同时放大缩小的方块(canvas)
  10. Accept CS Ph.D. Offer from Stony Brook University,去SUNY石溪大学的CS Ph.D.啦
  11. 【学术写作】优雅地翻译英文论文【保持格式】【无须排版】
  12. 【BZOJ 3687】简单题
  13. 云计算——Google云计算原理与应用(Google文件系统GFS)
  14. 数据模型(LP32 ILP32 LP64 LLP64 ILP64 )
  15. docker安装minio无法访问
  16. php画钟,canvas如何绘制钟表的方法_html5教程技巧
  17. 一块硬盘装了黑苹果 一块硬盘装了win7_十分钟学会自己装电脑系统! 看完这篇,咱们单枪匹马,不求人,就是干!...
  18. Monster Card Game的设计与实现之客户端篇
  19. Python初学者指南
  20. 抓取京东的某个商品价格

热门文章

  1. python range()函数循环效果
  2. Matplotlib动图保存遇到MovieWriter有问题,自己写gif保存的代码
  3. 部分阿里巴巴员工转让集团期权 每股约10美元
  4. 一些嵌入式软件面试题
  5. java 下载apk并安装-代码实例
  6. photoshop备忘录(连载中)
  7. 蓝牙智能定位节能灯将在什么场景大放异彩?
  8. 逆水寒江湖无限服务器等级,逆水寒等级封顶到底封了哪些顶?
  9. Matter集百家所长,智能家居看到未来
  10. Excel2002制作自动记录的单位考勤表(转)