欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java之字符串轉(zhuǎn)換成Java對象方式

 更新時間:2023年07月03日 10:19:06   作者:Summer⊙  
這篇文章主要介紹了Java之字符串轉(zhuǎn)換成Java對象方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Java字符串轉(zhuǎn)換成Java對象

方法一

public static void main(String[] args) {
? ? ? ? String testParam = "{\"id\":\"1001\",\"name\":\"oowangfanoo\",\"sex\":\"30\"}";
? ? ? ? TestEntity testEntity = JSON.toJavaObject(JSONObject.parseObject(testParam),TestEntity.class) ;
? ? ? ? System.out.println(testEntity.toString());
? ? }

TestEntity 為自己創(chuàng)建的實體類

方法二

JSONArray jsonArray= JSONArray.parseArray(jsonObject.get("body").toString());
? ? ? ? System.out.println(jsonArray +"::::"+ jsonArray.size());
? ? ? ? for(int i=0;i<jsonArray.size();i++){
? ? ? ? ? ? JSONObject object= (JSONObject) jsonArray.get(i);
? ? ? ? ? ? System.out.println(object.get("cabinet_id"));
? ? ? ? }

字符串 Java對象 互相轉(zhuǎn)換

基于Json-Lib、Org.Json、Jackson、Gson、FastJson五種方式轉(zhuǎn)換json類型

json-lib時間有些久遠(yuǎn),jar包只更新到2010年

org.json用起來有些繁瑣

Jackson、Gson、FastJson只需一兩句話就可以搞定

1、FastJson

Maven依賴:

<dependency>
?<groupId>com.alibaba</groupId>
?<artifactId>fastjson</artifactId>
?<version>1.2.37</version>
</dependency>

測試demo

import com.alibaba.fastjson.JSON;
public class FastJsonDemo {
? public static void main(String[] args) {
? ? //創(chuàng)建測試object
? ? User user = new User("李寧",24,"北京");
? ? System.out.println(user);
? ? //轉(zhuǎn)成json字符串
? ? String json = JSON.toJSON(user).toString();
? ? System.out.println(json);
? ? //json字符串轉(zhuǎn)成對象
? ? User user1 = JSON.parseObject(json,User.class);
? ? System.out.println(user1);
? }
}

2、Json-Lib

json-lib時間有些久遠(yuǎn),jar包只更新到2010年

Maven依賴:

?<dependency> ?
? ? ? ? ? ? <groupId>net.sf.json-lib</groupId> ?
? ? ? ? ? ? <artifactId>json-lib</artifactId> ?
? ? ? ? ? ? <version>2.2.3</version> ?
? ? ? ? ? ? <classifier>jdk15</classifier> ?
?</dependency>
public static void jsonStrToJava(){
//定義兩種不同格式的字符串
String objectStr="{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"北京市海淀區(qū)\"}";
String arrayStr="[{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"北京市海淀區(qū)\"}]";
//1、使用JSONObject
JSONObject jsonObject=JSONObject.fromObject(objectStr);
Student stu=(Student)JSONObject.toBean(jsonObject, Student.class);
//2、使用JSONArray
JSONArray jsonArray=JSONArray.fromObject(arrayStr);
//獲得jsonArray的第一個元素
Object o=jsonArray.get(0);
JSONObject jsonObject2=JSONObject.fromObject(o);
Student stu2=(Student)JSONObject.toBean(jsonObject2, Student.class);
System.out.println("stu:"+stu);
System.out.println("stu2:"+stu2);
}

打印結(jié)果為:

stu:Student [name=JSON, age=24, address=北京市海淀區(qū)]
stu2:Student [name=JSON, age=24, address=北京市海淀區(qū)]

3、org.json

Maven依賴:

<dependency>
?<groupId>org.json</groupId>
?<artifactId>json</artifactId>
?<version>20170516</version>
</dependency>

測試demo

import org.json.JSONObject;
public class OrgJsonDemo {
? public static void main(String[] args) {
? ? //創(chuàng)建測試object
? ? User user = new User("李寧",24,"北京");
? ? System.out.println(user);
? ? //轉(zhuǎn)成json字符串
? ? String json = new JSONObject(user).toString();
? ? System.out.println(json);
? ? //json字符串轉(zhuǎn)成對象
? ? JSONObject jsonObject = new JSONObject(json);
? ? String name = jsonObject.getString("name");
? ? Integer age = jsonObject.getInt("age");
? ? String location = jsonObject.getString("location");
? ? User user1 = new User(name,age,location);
? ? System.out.println(user1);
? }
}

4、Jackson

Maven依賴:

<dependency>
?<groupId>com.fasterxml.jackson.core</groupId>
?<artifactId>jackson-databind</artifactId>
?<version>2.9.0</version>
</dependency>

測試demo

import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonDemo {
? public static void main(String[] args) {
? ? //創(chuàng)建測試object
? ? User user = new User("李寧",24,"北京");
? ? System.out.println(user);
? ? //轉(zhuǎn)成json字符串
? ? ObjectMapper mapper = new ObjectMapper();
? ? try {
? ? ? String json = mapper.writeValueAsString(user);
? ? ? System.out.println(json);
? ? ? //json字符串轉(zhuǎn)成對象
? ? ? User user1 = mapper.readValue(json,User.class);
? ? ? System.out.println(user1);
? ? } catch (java.io.IOException e) {
? ? ? e.printStackTrace();
? ? }
? }
}

5、Gson

Maven依賴:

<dependency>
?<groupId>com.google.code.gson</groupId>
?<artifactId>gson</artifactId>
?<version>2.8.1</version>
</dependency>

測試demo

import com.google.gson.Gson;
public class GsonDemo {
? public static void main(String[] args) {
? ? //創(chuàng)建測試object
? ? User user = new User("李寧",24,"北京");
? ? System.out.println(user);
? ? //轉(zhuǎn)成json字符串
? ? Gson gson = new Gson();
? ? String json = gson.toJson(user);
? ? System.out.println(json);
? ? //json字符串轉(zhuǎn)成對象
? ? User user1 = gson.fromJson(json,User.class);
? ? System.out.println(user1);
? }
}

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于ssm中dao接口@Param注解的用法

    基于ssm中dao接口@Param注解的用法

    這篇文章主要介紹了基于ssm中dao接口@Param注解的用法,具有很好的參考價值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • JavaWeb response完成重定向?qū)崿F(xiàn)過程詳解

    JavaWeb response完成重定向?qū)崿F(xiàn)過程詳解

    這篇文章主要介紹了JavaWeb response完成重定向?qū)崿F(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • springboot vue 跨域問題的解決

    springboot vue 跨域問題的解決

    這篇文章主要介紹了springboot vue 跨域問題的解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • Java內(nèi)存結(jié)構(gòu)和數(shù)據(jù)類型

    Java內(nèi)存結(jié)構(gòu)和數(shù)據(jù)類型

    本文重點給大家介紹java內(nèi)存結(jié)構(gòu)和數(shù)據(jù)類型知識,非常不錯,具有參考借鑒價值,需要的朋友參考下
    2016-12-12
  • Java中嵌入式MySQL的使用方法

    Java中嵌入式MySQL的使用方法

    這篇文章主要為大家詳細(xì)介紹了Java中嵌入式MySQL的使用方法,Java中如何使用嵌入MySQL,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 詳解jvm中的標(biāo)量替換

    詳解jvm中的標(biāo)量替換

    這篇文章主要介紹了詳解jvm中的標(biāo)量替換,幫助大家更好的理解和使用Java虛擬機(jī),感興趣的朋友可以了解下
    2020-09-09
  • Java中l(wèi)ist集合的clear方法及空字符串的區(qū)別

    Java中l(wèi)ist集合的clear方法及空字符串的區(qū)別

    這篇文章主要介紹了Java中l(wèi)ist集合的clear方法及空字符串的區(qū)別,在使用list?結(jié)合的時候習(xí)慣了?list=null?;在創(chuàng)建這樣的方式,但是發(fā)現(xiàn)使用list的clear?方法很不錯,尤其是有大量循環(huán)的時候<BR>list.clear()與list?=?null?區(qū)別,需要的朋友可以參考下
    2023-08-08
  • 關(guān)于SpringBoot啟動速度慢的原因總結(jié)

    關(guān)于SpringBoot啟動速度慢的原因總結(jié)

    這篇文章主要介紹了關(guān)于SpringBoot啟動速度慢的原因總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • SpringBoot實現(xiàn)簡易支付寶網(wǎng)頁支付功能

    SpringBoot實現(xiàn)簡易支付寶網(wǎng)頁支付功能

    小編最近實現(xiàn)一個功能基于springboot程序的支付寶支付demo,非常不錯適合初學(xué)者入門學(xué)習(xí)使用,今天把SpringBoot實現(xiàn)簡易支付寶網(wǎng)頁支付功能的示例代碼分享給大家,感興趣的朋友參考下吧
    2021-10-10
  • Java 中Comparable和Comparator區(qū)別比較

    Java 中Comparable和Comparator區(qū)別比較

    本文,先介紹Comparable 和Comparator兩個接口,以及它們的差異;接著,通過示例,對它們的使用方法進(jìn)行說明
    2013-09-09

最新評論