String json=JSON.toJSONString(user);//关键

1.简单的解析json字符串

首先将json字符串转换为json对象,然后再解析json对象,过程如下。

1

JSONObject jsonObject = JSONObject.fromObject(jsonStr);

根据json中的键得到它的值

1

2

3

4

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对象,如下所示。

1

2

JSONObject obj = new JSONObject().fromObject(jsonStr);

//将json字符串转换为json对象

将json对象转换为java对象

1

2

Person jb = (Person)JSONObject.toBean(obj,Person.class);

//将建json对象转换为Person对象

3.将java对象转换为json字符串

先将java对象转换为json对象,在将json对象转换为json字符串

1

2

3

4

JSONObject json = JSONObject.fromObject(obj);

//将java对象转换为json对象

String str = json.toString();//将json对象转换为字符串

完整代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

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对象

  }

   

 

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

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字符串

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

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;

  }

}

测试类:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

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

1

{"age":23,"name":"gu1","num":123,"sex":"male"}

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

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

    工程中所需的jar包,因为在网上不太好找,所以我将它放到我的网盘里了,如有需要随便下载. 点击下载 1.简单的解析json字符串 首先将json字符串转换为json对象,然后再解析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. 本地Git连接服务器git不用每次输入用户名和密码的方法
  2. java oom_Java中关于OOM的场景及解决方法
  3. 《云栖精选》第8期:科技,改变世界
  4. C# 从DataTable中取值
  5. phpmyadmin的config-default-php文件中各个配置参数的详细说明
  6. 站长必须懂得技能:给网站设置ICO图标
  7. editorMd插件的使用总结(包括开启图片上传及拖拉粘贴上传图片)
  8. Promethus(普罗米修斯)监控系统02概述
  9. element-ui message 显示重叠问题
  10. VBA AutoExec 宏
  11. 计算机word知识试题及答案,计算机二级考试word试题及答案
  12. 冬令营2015 酱油记
  13. Tableau实现跑道图
  14. 微信SEO优化搜索排名如何做
  15. [C语言编程练习][14]编写一个程序,使用嵌套循环,按下面格式打印字母。A
  16. centos7无法读取移动硬盘
  17. 在Win10|Win11中安装ArcGIS10.2时遇到缺少.NET Framework 3.5问题的解决办法
  18. 【从0到1完成一个项目(一)】用户中心(上)
  19. element-ui 表格第一列随滚动自动吸顶
  20. 用Unity解压缩文件

热门文章

  1. 吴恩达机器学习作业Python实现(五):偏差和方差
  2. Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel 1
  3. 如何安装、管理多个 NodeJS 版本?
  4. input的一些使用方法
  5. 前端每日实战:62# 视频演示如何用纯 CSS 创作一只蒸锅
  6. 歌浏览器的各个版本对应的webdriver(chromedrive)-超级详细
  7. ipython控制台 绘图 后端_如何面试Python后端工程师?
  8. 实验报告-python文库_Python实验报告
  9. golang 时间戳_go语言学习笔记(13)-defer函数、字符串常用函数和时间日期函数...
  10. java特殊字符转义html_java转义html特殊字符