工程中所需的jar包,因为在网上不太好找,所以我将它放到我的网盘里了,如有需要随便下载。

点击下载

1.简单的解析json字符串

首先将json字符串转换为json对象,然后再解析json对象,过程如下。
JSONObject jsonObject = JSONObject.fromObject(jsonStr);
[java] view plain copy
  1. <pre></pre><span style="white-space:pre"></span>
  2. <pre></pre>
  根据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("[") != -){
  31. jsonStr = jsonStr.replace("[", "");
  32. }
  33. if(jsonStr.indexOf("]") != -){
  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",,"male",);
  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"}

这只是最简单使用方法,其他的使用我会在后期中更新。
我只是初学者,欢迎大侠拍砖!!

java对象与json对象间的相互转换的更多相关文章

  1. js 中 json对象 与 json字符串 间相互转换

    在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键 JSON字符串:  var str1 = '{ " ...

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

    import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import java.util.Li ...

  3. java对象与json对象之间的转换

    jar包:import net.sf.json.JSONObject; 1.解析json字符串 将json字符串转换为json对象,然后再解析json对象:.JSONObjectjsonObject ...

  4. JS中实现JSON对象和JSON字符串之间的相互转换

    对于主流的浏览器(比如:firefox,chrome,opera,safari,ie8+),浏览器自己提供了JSON对象,其中的parse和stringify方法实现了JSON对象和JSON字符串之间 ...

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

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

  6. fastjson: json对象,json对象数组,javabean对象,json字符串之间的相互转化

    fastjson: json对象,json对象数组,javabean对象,json字符串之间的相互转化 在开发过程中,经常需要和前端交互数据,数据交互的格式都是JSON,在此过程中免不了json字符串 ...

  7. 一种简单,轻量,灵活的C#对象转Json对象的方案(续)

    本文参考资料 一种简单,轻量,灵活的C#对象转Json对象的方案 [源码]Literacy 快速反射读写对象属性,字段 一段废话 之前我已经介绍了这个方案的名称为JsonBuilder,这套方案最大的 ...

  8. js压缩xml字符串,将xml字符串转换为xml对象,将xml对象转换为json对象

    /** * 压缩xml字符串 */ function compressXmlStr(str){ var prefix, suffix; var i = str.indexOf("\r&quo ...

  9. JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString

    JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString 如下示例: 直接写的a1就是一个Json对象,a2 就是一个Json对象字符串; 通 ...

随机推荐

  1. AngularJs-指令1

    前言: 前面写的有些乱,并且有些罗嗦,以后会注意的.希望我写的文章能帮助大家. 1,什么是指令 简单的说,指令是angularjs在html页面中建立一套自己能识别的标签元素.属性.类和注释,用来达到 ...

  2. hdu2807 矩阵乘法+floyd

    网上有优化的方法 就是乘上一个一维的矩阵:现在还没有想通.想通了不上代码: 我用的就是普通的矩阵,压着时间过:只是多了一个判断条件,不加这个条件就超时: #include<stdio.h> ...

  3. Ajax、反向Ajax和WebSocket 概念

    Ajax 异步的JavaScript和XML(Asynchronous JavaScript and XML,Ajax),一种可通过JavaScript来访问的浏览器功能特性,其允许脚本向幕后的网站发 ...

  4. Java-EnumSet

    如下 package 集合类.Set类; /** * Set不允许重复数据 */ /** * 这个类是1.5开始有的, * 目前个人使用量几乎为零,很少使用 * 其使用方式和普通的Set没有区别,只是 ...

  5. BZOJ1452 [JSOI2009]Count

    Description Input Output Sample Input Sample Output 1 2 HINT 正解:二维树状数组 解题报告: 这是一道送肉题.二维树状数组直接维护每种颜色的 ...

  6. CVE: 2014-6271、CVE: 2014-7169 PATCH方案分析

    目录 . RedHat官方给的PATCH第一套方案 . RedHat官方给的PATCH临时方案 . RedHat官方给的PATCH第二套方案 1. RedHat官方给的PATCH第一套方案 0x1: ...

  7. foeach集合遍历

    package number; public class Number { public static void main(String[] args) { int[] arr={5,2,1,0,3, ...

  8. loadrunner获取Http信息头中指定值作为参数

    ); //web_save_header(RESPONSE,"response header"); //web_save_header(REQUEST,"request ...

  9. Maven学习笔记-02-Maven项目打包配置与测试

    一 Maven项目打包配置 1 为整个项目统一指定字符集 <properties> <project.build.sourceEncoding>UTF-</project ...

  10. insert 多个values

    INSERT INTO `user_mail_attach` VALUES(, , , , , ), (, , , , , ); 这种比写多条insert语句效率高