fastjson的常见使用
1、引入maven
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
2、自己定义一个java对象
package com.wu;
/**
* @Auther: wuyilong
* @Date: 2019/4/29 10:20
* @Description:
*/
public class UserInfo {
String name;
int age;
String sex;
public UserInfo() {
}
public UserInfo(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public UserInfo(String name, int age) {
this.name = name;
this.age = 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;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "UserInfo{" +
"name='" + name + '\'' +
", age=" + age +
", sex='" + sex + '\'' +
'}';
}
}
3、常见的用法
******************************************
Jva对象、字符串,Json字符串,Json对象
******************************************
=============================================================================================
java对象->json字符串
UserInfo info = new UserInfo("马", 30, "男");
String json_str = JSON.toJSONString(info);
System.out.println(json_str);
=============================================================================================
java list对象->json字符串
List<UserInfo> list = new ArrayList<>();
list.add(new UserInfo("name01", 10, "男"));
list.add(new UserInfo("name02", 20, "男"));
String json_str = JSON.toJSONString(list);
System.out.println(json_str);
=============================================================================================
json字符串->java对象
UserInfo info = new UserInfo("马", 30, "男");
String json_str = JSON.toJSONString(info);
UserInfo u = JSON.parseObject(json_str, UserInfo.class);
System.out.println(u.toString());
=============================================================================================
日期格式化
Date date = new Date();
System.out.println("输出毫秒数:" + JSON.toJSONString(date));
System.out.println("默认的格式:" + JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat));
System.out.println("自定义日期:" + JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd",
SerializerFeature.WriteDateUseDateFormat));
=============================================================================================
字符串->JSON数据
public static void string2Json(){
StringBuffer buffer=new StringBuffer();
buffer.append("{");
buffer.append("\"age\":").append("27").append(",");
buffer.append("\"userName\":").append("\"龙叔\"").append(",");
buffer.append("\"address\":").append("\"广东省云浮市\"");
buffer.append("}");
String jsonText=buffer.toString();
JSONObject jobj=JSON.parseObject(jsonText);
String address=jobj.get("address").toString();
System.out.println(address);
}
=============================================================================================
字符串->对象
public static void string2Object(){
StringBuffer buffer=new StringBuffer();
buffer.append("{");
buffer.append("\"age\":").append("27").append(",");
buffer.append("\"userName\":").append("\"龙叔\"").append(",");
buffer.append("\"address\":").append("\"广东省云浮市\"");
buffer.append("}");
String jsonText=buffer.toString();
//方法一 把json字符串转成Student对象
Student stu1 = JSON.parseObject(jsonText, new TypeReference<Student>(){});
//方法二 把json字符串转成Student对象
Student stu2 = JSON.parseObject(jsonText, Student.class);
System.out.println(stu1.getAddress());
System.out.println(stu2.getAddress());
}
=============================================================================================
字符串->泛型数组
public static void string2List(){
StringBuffer buffer=new StringBuffer();
buffer.append("[{");
buffer.append("\"age\":").append("27").append(",");
buffer.append("\"userName\":").append("\"龙叔\"").append(",");
buffer.append("\"address\":").append("\"广东省云浮市\"");
buffer.append("}]");
String jsonText=buffer.toString();
//转成成数组
Student[] stu2 = JSON.parseObject(jsonText,new TypeReference<Student[]>(){});
List<Student> list = Arrays.asList(stu2);
for(Student st:list){
System.out.println(st.getAddress());
}
// 转换成ArrayList
ArrayList<Student> list2 = JSON.parseObject(jsonText, new TypeReference<ArrayList<Student>>(){});
for (int i = 0; i < list2.size(); i++) {
Student obj =(Student) list2.get(i);
System.out.println(obj.getAddress());
}
}
=============================================================================================
Map->字符串
public static void map2json(){
//创建一个Map对象
Map<String,String> map = new HashMap<String, String>();
map.put("username", "周伯通");
map.put("address", "广东省仙游谷");
map.put("age", "198");
String json = JSON.toJSONString(map,true); //转成JSON数据
Map<String,String> map1 = (Map<String,String>)JSON.parse(json);
//遍历数组数据
for (String key : map1.keySet()) {
System.out.println(key+":"+map1.get(key));
}
}
积沙成塔

浙公网安备 33010602011771号