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

it2025-01-17  26

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

点击下载

1.简单的解析json字符串

首先将json字符串转换为json对象,然后再解析json对象,过程如下。 JSONObject jsonObject = JSONObject.fromObject(jsonStr); [java]  view plain  copy <pre></pre><span style="white-space:pre"></span>  <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 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对象      }          }   [java]  view plain  copy 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字符串 [java]  view plain  copy 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;      }  }   测试类: [java]  view plain  copy 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 {"age":23,"name":"gu1","num":123,"sex":"male"} 这只是最简单使用方法,其他的使用我会在后期中更新。 我只是初学者,欢迎大侠拍砖!!

转载于:https://www.cnblogs.com/jym-sunshine/p/5292512.html

最新回复(0)