将对象转换为JSON字符串
下载地址:https://github.com/alibaba/fastjson
转换JSON字符串的步骤:
1. 引入JAR包
①IDEA中新建文件夹lib
②粘贴fastjson-1.2.70.jar文件
③打开File-Project Structure-Libraries,点击+,选择java,选择lib文件夹
④打开File-Project Structure-Modules,点击Dependencies,点击+,选择fastjson-1.2.70文件
2. 在需要转换JSON字符串的位置编写如下代码即可:
String json=JSON.toJSONString(要转换的对象);
注意:对象属性必须使用set/get方法,无论两个类是否在同一个类中
案例:
import com.alibaba.fastjson.JSON;
?
import java.util.List;
?
public class Demo {
public static void main(String[] args) {
Person person=new Person("张三",14);
//1、将person对象转化为json字符串
String string = JSON.toJSONString(person);
System.out.println(string);
}
}
class Person {
String name;
int age;
?
public String getName() {
return name;
}
?
public void setName(String name) {
this.name = name;
}
?
public int getAge() {
return age;
}
?
public void setAge(int age) {
this.age = age;
}
?
@Override
public String toString() {
return "Person{" +
"name=‘" + name + ‘\‘‘ +
", age=" + age +
‘}‘;
}
?
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
将JSON字符串转换为对象
1. 引入JAR包
2. 在需要转换Java对象的位置, 编写如下代码:
类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
或
List<类型> list=JSON.parseArray(JSON字符串,类型.class);
注意:Person类和Demo类必须分开写,不能将两个类写入同一个类中
案例:
Demo类代码:
?
import java.util.List;
?
public class Demo {
public static void main(String[] args) {
//1、将json字符串{"age":14,"name":"张三"}转换为对象
Person person1 = JSON.parseObject("{\"age\":14,\"name\":\"张三\"}", Person.class);
System.out.println(person1.getName());
//2、将字符串转换为集合
List<String> strings = JSON.parseArray("[\"a\",\"b\",\"c\"]", String.class);
System.out.println(strings.get(1));
}
}
Person类代码:
package com.unit.test7;
?
public class Person {
private String name;
private int age;
?
public String getName() {
return name;
}
?
public void setName(String name) {
this.name = name;
}
?
public int getAge() {
return age;
}
?
public void setAge(int age) {
this.age = age;
}
?
@Override
public String toString() {
return "Person{" +
"name=‘" + name + ‘\‘‘ +
", age=" + age +
‘}‘;
}
?
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}