工程中所需的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. 简单的3个SQL视图搞定所有SqlServer数据库字典

    网上有很多SQL SERVER数据库字典的SQL语句,七零八落,我在工作整理了一下思路,总结SQL代码如下.数据库字典包括表结构(分2K和2005).索引和主键.外键.约束.视图.函数.存储过程.触发 ...

  2. session放到mongo里边

    为了session的共享和保存,常常把session放数据库里边,但是很多时候都放redis里边,今天看了一个放Mongo中的记录下,说不懂什么时候就用到了. app.use(session({ se ...

  3. js中基本操作

    1.操作标签值 <!DOCTYPE html> <html> <meta charset="utf-8"> <meta http-equi ...

  4. Graphics samples

    绘制二次曲线: public void paint(Graphics g) { // TODO 自动生成的方法存根 super.paint(g); Graphics2D g2=(Graphics2D) ...

  5. nonatomic, retain,weak,strong用法详解

    strong weak strong与weak是由ARC新引入的对象变量属性 ARC引入了新的对象的新生命周期限定,即零弱引用.如果零弱引用指向的对象被deallocated的话,零弱引用的对象会被自 ...

  6. zabbix 乱码的问题

    文章转自:http://www.ttlsa.com/zabbix/zabbix-chinese-garbled-ttlsa/ 在使用zabbix的时候发现图片下方的中文都是一个个小方格 这是zabbi ...

  7. Linux(CentOS)下安装git

    上个月把VPS迁到budgetVM,终于不用再受digitalOcean的气了,入手很方便,重点是支持支付宝付款——paypal的界面真是不习惯,开通速度挺快的,1G的内存够我折腾一段时间了~,额外送 ...

  8. php empty()和isset()的区别

    在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问 ...

  9. 【转】div居中代码 DIV水平居中显示CSS代码

    原文地址:http://www.divcss5.com/rumen/r622.shtml 如何使用CSS让DIV居中显示,让div水平居中有哪些CSS样式呢? 需要的主要css代码有两个,一个为tex ...

  10. 【Matplotlib】 标注摄氏度符号

    之前论文中作图遇到的,其实也很简单. 关键的代码如下: ax.set_xlabel('Temperature ($^\circ$C)') 完整的样例代码如下: # -*- coding: utf-8 ...