1. 程式人生 > >java對象與json對象之間的轉換

java對象與json對象之間的轉換

字符 class new jar包 lib num round word out

jar包:import net.sf.json.JSONObject;

1.解析json字符串

將json字符串轉換為json對象,然後再解析json對象:。
JSONObjectjsonObject = JSONObject.fromObject(jsonStr);
根據json中的鍵得到它的值
Stringname = jsonObject.getString("name");
int age = jsonObject.getInt("age");

2.將json字符串轉換為Java對象
同樣先將json字符串轉換為json對象,再將json對象轉換為java對象,如下所示。
JSONObjectobj = new JSONObject().fromObject(jsonStr);//將json字符串轉換為json對象
將json對象轉換為java對象
Personjb = (Person)JSONObject.toBean(obj,Person.class);//將建json對象轉換為Person對象

3.將java對象轉換為json字符串


先將java對象轉換為json對象,在將json對象轉換為json字符串
JSONObjectjson = JSONObject.fromObject(obj);//將java對象轉換為json對象
Stringstr = json.toString();//將json對象轉換為字符串

實例代碼:

  1. package Test3;
  2. public class Person {
  3. private int age;
  4. public int getAge() {
  5. return age;
  6. }
  7. public void setAge(int age) {
  8. this.age = age;
  9. }
  10. public String getName() {
  11. return name;
  12. }
  13. public void setName(String name) {
  14. this.name = name;
  15. }
  16. private String name;
  17. public String toString() {
  18. return "Person [age=" + age + ", name=" + name + "]";
  19. }
  20. public Person(int age, String name) {
  21. super();
  22. this.age = age;
  23. this.name = name;
  24. }
  25. public Person(String personStr){
  26. }
  27. public Person(){
  28. }
  29. }

  1. package Test3;
  2. import net.sf.json.JSONObject;
  3. public class JsonToObject {
  4. /**
  5. * @param args
  6. */
  7. public void test(){
  8. System.out.println("將object對象,字符串轉為json對象");
  9. Person person = new Person(1, "cgf");
  10. JSONObject json = JSONObject.fromObject(person);
  11. System.out.println(json);
  12. System.out.println("將字符串轉成JSON對象,再轉為自定義對象");
  13. String jsonString = "{" + "age" + ":1" + "," + "name" + ":" + "‘wbj‘" + "}";
  14. JSONObject jsonObject = JSONObject.fromObject(jsonString);
  15. System.out.println(jsonObject);
  16. Person person1 = (Person) JSONObject.toBean(jsonObject, Person.class);
  17. System.out.println("名字:"+person1.getAge() + "年齡:" + person1.getName());
  18. System.out.println("將Java對象轉為json字符串");
  19. JSONObject json1 = JSONObject.fromObject(person);
  20. String jsonString1 = json1.toString();
  21. System.out.println(jsonString1);
  22. }
  23. public static void main(String[] args) {
  24. // TODO Auto-generated method stub
  25. JsonToObject json = new JsonToObject();
  26. json.test();
  27. }
  28. }

java對象與json對象之間的轉換