日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

说一下对象或数组转JSON怎么转【fastjson】

發布時間:2024/2/28 javascript 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 说一下对象或数组转JSON怎么转【fastjson】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

年前在京東實習,和我一起實習的一妹子問我怎么對象轉json,我。。。
嗯很簡單呀,用fastjson就行了。fastjson是什么?

fastjson是什么?

Fastjson阿里巴巴工程師開源的一個 json 庫:Fastjson,這個庫在解析速度和易用性上來說都很不錯。
在日志解析,前后端數據傳輸交互中,經常會遇到 String 與 map、json、xml 等格式相互轉換與解析的場景,其中 json 基本成為了跨語言、跨前后端的事實上的標準數據交互格式。應該來說各個語言中 解析 json 的庫都一大片,比如 python 都集成在了內置庫中,成為標準 API,今天我們要聊的是 java 中如何方便的使用 json 格式。

推一個介紹json的網址

http://www.json.org/json-zh.html](http://www.json.org/json-zh.html

下面一個示例是如何使用Fastjson 把對象或數組轉JSON

package test; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON; class User { 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 "User [name=" + name + ", age=" + age + "]"; } }; class UserGroup { private String name; private List<User> users = new ArrayList<User>(); public String getName() { return name; } public void setName(String name) { this.name = name; } public List<User> getUsers() { return users; } public void setUsers(List<User> users) { this.users = users; } @Override public String toString() { return "UserGroup [name=" + name + ", users=" + users + "]"; } } class FastJsonTest { public static void main(String[] args) { // 構建用戶geust User guestUser = new User(); guestUser.setName("guest"); guestUser.setAge(28); // 構建用戶root User rootUser = new User(); rootUser.setName("root"); guestUser.setAge(35); // 構建用戶組對象 UserGroup group = new UserGroup(); group.setName("admin"); group.getUsers().add(guestUser); group.getUsers().add(rootUser); // 用戶組對象轉JSON串 String jsonString = JSON.toJSONString(group); System.out.println("jsonString:" + jsonString); // JSON串轉用戶組對象 UserGroup group2 = JSON.parseObject(jsonString, UserGroup.class); System.out.println("group2:" + group2); // 構建用戶對象數組 User[] users = new User[2]; users[0] = guestUser; users[1] = rootUser; // 用戶對象數組轉JSON串 String jsonString2 = JSON.toJSONString(users); System.out.println("jsonString2:" + jsonString2); // JSON串轉用戶對象列表 List<User> users2 = JSON.parseArray(jsonString2, User.class); System.out.println("users2:" + users2); } }

輸出結果:

jsonString:{"name":"admin","users":[{"age":35,"name":"guest"},{"age":0,"name":"root"}]} group2:UserGroup [name=admin, users=[User [name=guest, age=35], User [name=root, age=0]]] jsonString2:[{"age":35,"name":"guest"},{"age":0,"name":"root"}] users2:[User [name=guest, age=35], User [name=root, age=0]]

補充:

提一個注釋:@JSONField
通過@JSONField注解設置json屬性與成員變量對應關系
舉個小例子:

public class News {private String appId;private String title;private String intro;private String source;private String url;private Date updateTime;@Overridepublic String toString() {return "News{" +"appId='" + appId + '\'' +", title='" + title + '\'' +", intro='" + intro + '\'' +", source='" + source + '\'' +", url='" + url + '\'' +", updateTime=" + updateTime +'}';}@JSONField(name="app_id")public String getAppId() {return appId;}@JSONField(name="app_id")public void setAppId(String appId) {this.appId = appId;}@JSONField(name="title")public String getTitle() {return title;}@JSONField(name="title")public void setTitle(String title) {this.title = title;}@JSONField(name="intro")public String getIntro() {return intro;}@JSONField(name="intro")public void setIntro(String intro) {this.intro = intro;}@JSONField(name="source")public String getSource() {return source;}@JSONField(name="source")public void setSource(String source) {this.source = source;}@JSONField(name="url")public String getUrl() {return url;}@JSONField(name="url")public void setUrl(String url) {this.url = url;}@JSONField(name="update_time",format = "yyyy-MM-dd HH:mm:ss")public Date getUpdateTime() {return updateTime;}@JSONField(name="update_time",format = "yyyy-MM-dd HH:mm:ss")public void setUpdateTime(Date updateTime) {this.updateTime = updateTime;} }

推薦一個詳細的Fastjson講解:https://www.w3cschool.cn/fastjson/fastjson-jsonfield.html

總結

以上是生活随笔為你收集整理的说一下对象或数组转JSON怎么转【fastjson】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。