1. 程式人生 > 實用技巧 >fastjson簡單使用

fastjson簡單使用

fastjson是阿里巴巴的開源JSON解析庫,它可以解析JSON格式的字串,支援將Java Bean序列化為JSON字串,也可以從JSON字串反序列化到JavaBean。

 git wiki url 

一. Maven依賴

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.73</version>
</dependency>

二. 簡單使用

fastjson的API十分簡潔。

String text = JSON.toJSONString(obj); //序列化
VO vo = JSON.parseObject("{...}", VO.class); //反序列化

//如果不想建立類還可以使用 JsonObject
JsonObject jsonObject = JSON.parseObject("{...}");
jsonObject.getXXX(String key);

例子:

package study.yan.fastjson.demo;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import java.io.Serializable; public class Program { public static void main(String[] args) { // JSONObject jsonObject = JSON.parseObject("{\"callback_command\": \"CallBackBeforeP2PChatReq\",\"app_id\": 1332142413,\"from_uid\": 3504372018,\"to_uid\": 3711934089,\"uuid\": \"1d7a7d35-6029-4d79-890f-a0b731071836\",\"extension\": \"{\\\"hasPlayed\\\":false,\\\"isPrivateAlbum\\\":0,\\\"needPay\\\":\\\"1\\\",\\\"needTranslate\\\":false,\\\"reply5Min\\\":1,\\\"sendSysLanguage\\\":\\\"in\\\",\\\"translateText\\\":\\\"\\\"}\",\"msg_content\": {\"text\": {\"text\": \"if can i call\"}}}");
// String msg_content = jsonObject.getString("msg_content"); // System.out.println(msg_content); // MsgContent msgContent = JSON.parseObject(msg_content, MsgContent.class); // System.out.println(msgContent); // MsgContentText text = msgContent.getText(); // System.out.println(text); JSONObject jsonObject = JSON.parseObject("{\"callback_command\": \"CallBackBeforeP2PChatReq\",\"app_id\": 1332142413,\"from_uid\": 3752868060,\"to_uid\": 3455696810,\"uuid\": \"af9d2eff-2a84-4d1d-922b-2273facd97a1\",\"extension\": \"{\\\"hasPlayed\\\":false,\\\"isPrivateAlbum\\\":0,\\\"needPay\\\":\\\"1\\\",\\\"needTranslate\\\":false,\\\"reply5Min\\\":1,\\\"sendSysLanguage\\\":\\\"ar\\\",\\\"translateText\\\":\\\"\\\"}\",\"msg_content\": {\"image\": {\"original_width\": 966,\"original_height\": 1288,\"thumbnail_url\": \"https://cim-oss-ap-south-1-1332142413.bs2dl.yy.com/3752868060/c6608888-0ee6-41a8-b412-55821a2391b5.png?x-oss-process=image/resize,m_lfit,h_300,w_300\",\"original_url\": \"https://cim-oss-ap-south-1-1332142413.bs2dl.yy.com/3752868060/c6608888-0ee6-41a8-b412-55821a2391b5.png\"}}}"); String msg_content = jsonObject.getString("msg_content"); System.out.println(msg_content); MsgContent msgContent = JSON.parseObject(msg_content, MsgContent.class); System.out.println(msgContent); MsgContentText text = msgContent.getText(); System.out.println(text); MsgContentImage image = msgContent.getImage(); System.out.println(image); } public static class MsgContent{ private MsgContentText text; private MsgContentImage image; public MsgContentText getText() { return text; } public void setText(MsgContentText msgContentText) { this.text = msgContentText; } public MsgContentImage getImage() { return image; } public void setImage(MsgContentImage image) { this.image = image; } @Override public String toString() { return "MsgContent{" + "text=" + text + ", image=" + image + '}'; } } public static class MsgContentText implements Serializable{ private String text; public String getText() { return text; } public void setText(String text) { this.text = text; } } static class MsgContentImage implements Serializable { private int original_width; private int original_height; private String thumbnail_url; private String original_url; public int getOriginal_width() { return original_width; } public void setOriginal_width(int original_width) { this.original_width = original_width; } public int getOriginal_height() { return original_height; } public void setOriginal_height(int original_height) { this.original_height = original_height; } public String getThumbnail_url() { return thumbnail_url; } public void setThumbnail_url(String thumbnail_url) { this.thumbnail_url = thumbnail_url; } public String getOriginal_url() { return original_url; } public void setOriginal_url(String original_url) { this.original_url = original_url; } @Override public String toString() { return "MsgContentImage{" + "original_width=" + original_width + ", original_height=" + original_height + ", thumbnail_url='" + thumbnail_url + '\'' + ", original_url='" + original_url + '\'' + '}'; } } }