java對象與json對象之間的轉換
阿新 • • 發佈:2017-09-05
字符 class new jar包 lib num round word out
先將java對象轉換為json對象,在將json對象轉換為json字符串
JSONObjectjson = JSONObject.fromObject(obj);//將java對象轉換為json對象
Stringstr = json.toString();//將json對象轉換為字符串
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對象轉換為字符串
實例代碼:
- package Test3;
- public class Person {
- private int age;
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- private String name;
- public String toString() {
- return "Person [age=" + age + ", name=" + name + "]";
- }
- public Person(int age, String name) {
- super();
- this.age = age;
- this.name = name;
- }
- public Person(String personStr){
- }
- public Person(){
- }
- }
- package Test3;
- import net.sf.json.JSONObject;
- public class JsonToObject {
- /**
- * @param args
- */
- public void test(){
- System.out.println("將object對象,字符串轉為json對象");
- Person person = new Person(1, "cgf");
- JSONObject json = JSONObject.fromObject(person);
- System.out.println(json);
- System.out.println("將字符串轉成JSON對象,再轉為自定義對象");
- String jsonString = "{" + "age" + ":1" + "," + "name" + ":" + "‘wbj‘" + "}";
- JSONObject jsonObject = JSONObject.fromObject(jsonString);
- System.out.println(jsonObject);
- Person person1 = (Person) JSONObject.toBean(jsonObject, Person.class);
- System.out.println("名字:"+person1.getAge() + "年齡:" + person1.getName());
- System.out.println("將Java對象轉為json字符串");
- JSONObject json1 = JSONObject.fromObject(person);
- String jsonString1 = json1.toString();
- System.out.println(jsonString1);
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- JsonToObject json = new JsonToObject();
- json.test();
- }
- }
java對象與json對象之間的轉換