工程中所需的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. SQL替换语句之批量修改、增加、删除字段内容

    语法 REPLACE ( original-string, search-string, replace-string ) 用法 update 表的名称 set 替换字段=REPLACE(替换字段,原 ...

  2. DateTime类常用技巧摘录

    //今天 DateTime.Now.Date.ToShortDateString(); //昨天,就是今天的日期减一 DateTime.Now.AddDays(-).ToShortDateString ...

  3. [Asp.net]c#中的斜杠和反斜杠

    引言 在外地出差,给客户部署项目,三家做的项目要在一起集成,这就造成数据格式不同,路径中的斜杠和反斜杠造成了很大的问题. 查了一下这方面的资料,这里做一些记录,算是一个小结吧. 正斜杠(/)与反斜杠( ...

  4. hdu1686 KMP

    简单KMP 求单词出现的次数.直接可以考虑,在每一次匹配成功时,让ans++,k=next[k],直到结束. #include<stdio.h> #include<string.h& ...

  5. iframe标签用法详解(属性、透明、自适应高度)

    1.iframe 定义和用法 iframe 元素会创建包含另外一个文档的内联框架(即行内框架). HTML 与 XHTML 之间的差异 在 HTML 4.1 Strict DTD 和 XHTML 1. ...

  6. 【CodeForces 605A】BUPT 2015 newbie practice #2 div2-E - Sorting Railway Cars

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=102419#problem/E Description An infinitely lon ...

  7. 001-编译hadoop-2.5.2总结

    前两天废了很大的劲来对hadoop-2.5.2进行64位系统的手动编译,由于对linux系统环境以及hadoop本身的不熟悉,编译过程中也出现了很多的问题,在此记录一下,对自己以后再次编译和看到此文章 ...

  8. 移动H5页面,keyup事件不好使用处理解决

    1.mouse事件换成touch,pointer事件,keyup换成textInput事件

  9. POJ2492 A Bug's Life

    Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 33833   Accepted: 11078 Description Ba ...

  10. String类的常用方法

    package stringUse; public class StringUse { public static void main(String[] args) { //获取 //indexOf, ...