Java使用fastjson對String、JSONObject、JSONArray相互轉(zhuǎn)換
fastjson對String、JSONObject、JSONArray相互轉(zhuǎn)換
fastjson是阿里巴巴的開源JSON解析庫,它可以解析JSON格式的字符串,支持將Java Bean序列化為JSON字符串,也可以從JSON字符串反序列化到JavaBean
下面主要是本人在工作中經(jīng)常用到的關于String、JSONObject、JSONArray的相互裝換
String——>>>JSONArray
String st = "[{name:Tim,age:25,sex:male},{name:Tom,age:28,sex:male},{name:Lily,age:15,sex:female}]"; JSONArray tableData = JSONArray.parseArray(st);
JSONArray——>>>JSONObject
JSONObject rowData = new JSONObject(); for(int i;i<tableData.length();i++){ rowData = tableData.getJSONObject[i]; }
String——>>>JSONObject
String st = "{name:Tim,age:25,sex:male}"; JSONObject rowData = JSONObject.parseObject(st);
JSONObject——>>>JSONArray
JSONObject rowData = {info: [ { name:Tim, age:25, sex:male },{ name:Tom, age:28, sex:male },{ name:Lily, age:15, sex:female } ] }; JSONArry tableData = rowData.get("info");
com.alibaba.fastjson.JSONObject、JSONArray與String之間的轉(zhuǎn)換demo
話不多說,直接上代碼
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.util.Map; /** * Created by LH on 2019/2/21 14:08 */ public class JsonDemo { public static void main(String[] args) { //1.json字符串轉(zhuǎn)換為對象 String jsonString="{'name':'42313123','id':'2345','age':12}"; JSONObject jsonObject = JSONObject.parseObject(jsonString); String id = jsonObject.getString("id"); System.out.println(id); //2. JSONObject轉(zhuǎn)化成自定義類對象 PeoplePo peoplePo1 = JSONObject.parseObject(jsonString, PeoplePo.class); System.out.println(peoplePo1); //3. JSONObject轉(zhuǎn)化成Map集合 Map map = JSONObject.parseObject(jsonString, Map.class); System.out.println(map); //4. 自定義對象轉(zhuǎn)化成json格式的字符串 PeoplePo peoplePo = new PeoplePo(); peoplePo.setId("1"); peoplePo.setAge(11); peoplePo.setName("LH"); String peopleJson = JSON.toJSONString(peoplePo); System.out.println(peopleJson); //5. String類型轉(zhuǎn)化成JSONObject; String str = "{\"result\":\"success\",\"message\":\"成功!\"}"; JSONObject jsonObject1 = JSONObject.parseObject(str); System.out.println(jsonObject1); //6. JSONObject轉(zhuǎn)化成JSONArray的兩種方式 String str1 = "{\"result\":\"success\",\"message\":\"成功!\",\"data\":[{\"name\":\"Tom\",\"age\":\"20\"}]}"; JSONObject jsonToArray = JSONObject.parseObject(str1); //方式一 JSONArray data = jsonToArray.getJSONArray("data"); System.out.println(data); //方式二 JSONArray jsonArray = JSONArray.parseArray(jsonToArray.getString("data")); System.out.println(jsonArray); //7. jsonArray轉(zhuǎn)化成JSONObject并取出其中的元素數(shù)據(jù) JSONObject o = (JSONObject) jsonArray.get(0); String name = o.getString("name"); System.out.println(o); System.out.println(name); System.out.println(jsonArray.toString()); } }
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Springboot如何通過filter修改Header的值
這篇文章主要介紹了Springboot如何通過filter修改Header的值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07Spring Boot Security 結合 JWT 實現(xiàn)無狀態(tài)的分布式API接口
JSON Web Token(縮寫 JWT)是目前最流行的跨域認證解決方案。這篇文章主要介紹了Spring Boot Security 結合 JWT 實現(xiàn)無狀態(tài)的分布式API接口 ,需要的朋友可以參考下2019-04-04SpringBoot+websocket實現(xiàn)消息對話功能
WebSocket是一種在Web應用程序中實現(xiàn)實時雙向通信的技術,它可以用于在線游戲、在線聊天、推送通知、實時監(jiān)控等,并且比傳統(tǒng)的輪詢技術更加高效和可靠,本文就給大家介紹基于SpringBoot+websocket實現(xiàn)消息對話功能,感興趣的小伙伴可以自己動手試一試2023-09-09Struts 2 數(shù)據(jù)校驗功能及校驗問題的解決方案
這篇文章主要介紹了Struts 2 數(shù)據(jù)校驗功能及校驗問題的解決方案的相關資料,需要的朋友可以參考下2016-09-09SpringBoot實現(xiàn)ImportBeanDefinitionRegistrar動態(tài)注入
在閱讀Spring Boot源碼時,看到Spring Boot中大量使用ImportBeanDefinitionRegistrar來實現(xiàn)Bean的動態(tài)注入,它是Spring中一個強大的擴展接口,本文就來詳細的介紹一下如何使用,感興趣的可以了解一下2024-02-02在同一個類中調(diào)用帶有@Transactional注解的方法示例
這篇文章主要為大家介紹了在同一個類中調(diào)用帶有@Transactional注解的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04SpringCloud學習筆記之OpenFeign進行服務調(diào)用
OpenFeign對feign進行進一步的封裝,添加了springmvc的一些功能,更加強大,下面這篇文章主要給大家介紹了關于SpringCloud學習筆記之OpenFeign進行服務調(diào)用的相關資料,需要的朋友可以參考下2022-01-01