最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java對(duì)象與json對(duì)象間的相互轉(zhuǎn)換的方法

 更新時(shí)間:2017年01月06日 12:01:00   作者:gchb9527  
本篇文章主要介紹了java對(duì)象與json對(duì)象間的相互轉(zhuǎn)換的方法,詳細(xì)介紹了json字符串和java對(duì)象相互轉(zhuǎn)換,有興趣的可以了解一下

工程中所需的jar包,因?yàn)樵诰W(wǎng)上不太好找,所以我將它放到我的網(wǎng)盤(pán)里了,如有需要隨便下載。

點(diǎn)擊下載

1.簡(jiǎn)單的解析json字符串

首先將json字符串轉(zhuǎn)換為json對(duì)象,然后再解析json對(duì)象,過(guò)程如下。

JSONObject jsonObject = JSONObject.fromObject(jsonStr);

根據(jù)json中的鍵得到它的值

String name = jsonObject.getString("name");
int num = jsonObject.getInt("num");
String sex = jsonObject.getString("sex");
int age = jsonObject.getInt("age");

2.將json字符串轉(zhuǎn)換為java對(duì)象

同樣先將json字符串轉(zhuǎn)換為json對(duì)象,再將json對(duì)象轉(zhuǎn)換為java對(duì)象,如下所示。

JSONObject obj = new JSONObject().fromObject(jsonStr);
//將json字符串轉(zhuǎn)換為json對(duì)象

將json對(duì)象轉(zhuǎn)換為java對(duì)象

Person jb = (Person)JSONObject.toBean(obj,Person.class);
//將建json對(duì)象轉(zhuǎn)換為Person對(duì)象

3.將java對(duì)象轉(zhuǎn)換為json字符串

先將java對(duì)象轉(zhuǎn)換為json對(duì)象,在將json對(duì)象轉(zhuǎn)換為json字符串

JSONObject json = JSONObject.fromObject(obj);

//將java對(duì)象轉(zhuǎn)換為json對(duì)象
String str = json.toString();//將json對(duì)象轉(zhuǎn)換為字符串

完整代碼如下:

package baz.parse; 
 
import java.util.ArrayList; 
import java.util.List; 
 
import net.sf.json.JSON; 
import net.sf.json.JSONArray; 
import net.sf.json.JSONObject; 
import net.sf.json.JSONSerializer; 
import baz.bean.Person; 
 
public class ParseJson { 
   
  private String jsonStr; 
   
  public ParseJson() { 
     
  } 
   
  public ParseJson(String str){ 
    this.jsonStr = str; 
  } 
  /** 
   * 解析json字符串 
   */ 
  public void parse(){ 
    JSONObject jsonObject = JSONObject.fromObject(jsonStr); 
    String name = jsonObject.getString("name"); 
    int num = jsonObject.getInt("num"); 
    String sex = jsonObject.getString("sex"); 
    int age = jsonObject.getInt("age"); 
     
    System.out.println(name + " " + num + " " + sex + " " + age); 
  } 
  //將json字符串轉(zhuǎn)換為java對(duì)象 
  public Person JSON2Object(){ 
    //接收{(diào)}對(duì)象,此處接收數(shù)組對(duì)象會(huì)有異常 
    if(jsonStr.indexOf("[") != -1){ 
      jsonStr = jsonStr.replace("[", ""); 
    } 
    if(jsonStr.indexOf("]") != -1){ 
      jsonStr = jsonStr.replace("]", ""); 
    } 
    JSONObject obj = new JSONObject().fromObject(jsonStr);//將json字符串轉(zhuǎn)換為json對(duì)象 
    Person jb = (Person)JSONObject.toBean(obj,Person.class);//將建json對(duì)象轉(zhuǎn)換為Person對(duì)象 
    return jb;//返回一個(gè)Person對(duì)象 
  } 
   
 
} 
package baz.bean; 
 
public class Person { 
   
  private String name; 
  private int num; 
  private String sex; 
  private int age; 
   
  public Person() { 
    // TODO Auto-generated constructor stub 
  } 
 
  public Person(String name, int num, String sex, int age) { 
    super(); 
    this.name = name; 
    this.num = num; 
    this.sex = sex; 
    this.age = age; 
  } 
 
 
 
  public String getName() { 
    return name; 
  } 
 
  public void setName(String name) { 
    this.name = name; 
  } 
 
  public int getNum() { 
    return num; 
  } 
 
  public void setNum(int num) { 
    this.num = num; 
  } 
 
  public String getSex() { 
    return sex; 
  } 
 
  public void setSex(String sex) { 
    this.sex = sex; 
  } 
 
  public int getAge() { 
    return age; 
  } 
 
  public void setAge(int age) { 
    this.age = age; 
  } 
   
} 

將java對(duì)象轉(zhuǎn)換為json字符串

package baz.cons; 
 import net.sf.json.JSONObject; 
 /** 
 * 將java對(duì)象轉(zhuǎn)換為json字符串 
 * @author Administrator 
 * 
 */ 
public class ConsJson { 
   
  public ConsJson() { 
    // TODO Auto-generated constructor stub 
  } 
   
  public String Object2Json(Object obj){ 
    JSONObject json = JSONObject.fromObject(obj);//將java對(duì)象轉(zhuǎn)換為json對(duì)象 
    String str = json.toString();//將json對(duì)象轉(zhuǎn)換為字符串 
     
    return str; 
  } 
} 

測(cè)試類:

package baz.test; 
 
import java.util.List; 
 
import baz.bean.Person; 
import baz.cons.ConsJson; 
import baz.parse.ParseJson; 
 
 
public class Test { 
  public static void main(String[] args) { 
     
    //將字符串轉(zhuǎn)換為json對(duì)象,然后根據(jù)建得到相應(yīng)的值 
    ParseJson pj = new ParseJson("{\"name\":\"gu\",\"num\":123456,\"sex\":\"male\",\"age\":24}"); 
    pj.parse(); 
     
    //將一個(gè)json字符串轉(zhuǎn)換為java對(duì)象 
    Person p = pj.JSON2Object(); 
    System.out.println("Name:" + p.getName()); 
    System.out.println("Num:" + p.getNum()); 
    System.out.println("Sex:" + p.getSex()); 
    System.out.println("age:" + p.getAge()); 
     
    //將一個(gè)java對(duì)象轉(zhuǎn)換為Json字符串 
    Person p1 = new Person("gu1",123,"male",23); 
    ConsJson cj = new ConsJson(); 
    String str1 = cj.Object2Json(p1); 
    System.out.println(str1); 
     
  } 
 
} 

測(cè)試輸出如下:

gu 123456 male 24
Name:gu
Num:123456
Sex:male
age:24

{"age":23,"name":"gu1","num":123,"sex":"male"}

這只是最簡(jiǎn)單使用方法,其他的使用我會(huì)在后期中更新。以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解如何在項(xiàng)目中應(yīng)用SpringSecurity權(quán)限控制

    詳解如何在項(xiàng)目中應(yīng)用SpringSecurity權(quán)限控制

    本文主要介紹了如何在項(xiàng)目中應(yīng)用SpringSecurity權(quán)限控制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 詳解Spring的@Value作用與使用場(chǎng)景

    詳解Spring的@Value作用與使用場(chǎng)景

    這篇文章主要介紹了詳解Spring的@Value作用與使用場(chǎng)景,Spring為大家提供許多開(kāi)箱即用的功能,@Value就是一個(gè)極其常用的功能,它能將配置信息注入到bean中去,需要的朋友可以參考下
    2023-05-05
  • 詳解使用spring aop實(shí)現(xiàn)業(yè)務(wù)層mysql 讀寫(xiě)分離

    詳解使用spring aop實(shí)現(xiàn)業(yè)務(wù)層mysql 讀寫(xiě)分離

    本篇文章主要介紹了使用spring aop實(shí)現(xiàn)業(yè)務(wù)層mysql 讀寫(xiě)分離,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • Java類型轉(zhuǎn)換valueOf與parseInt區(qū)別探討解析

    Java類型轉(zhuǎn)換valueOf與parseInt區(qū)別探討解析

    這篇文章主要為大家介紹了Java類型轉(zhuǎn)換valueOf與parseInt區(qū)別探討解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Spring基礎(chǔ)之AOP的概念介紹

    Spring基礎(chǔ)之AOP的概念介紹

    AOP是Spring的關(guān)鍵特性之一,雖然Spring的IOC特性并不依賴于AOP,本文重點(diǎn)介紹AOP編程中的一些術(shù)語(yǔ),這些術(shù)語(yǔ)不僅僅局限于Spring,它適用于所有的AOP編程,感興趣的朋友一起看看吧
    2022-06-06
  • Java實(shí)現(xiàn)RSA算法的方法詳解

    Java實(shí)現(xiàn)RSA算法的方法詳解

    這篇文章主要介紹了Java實(shí)現(xiàn)RSA算法的方法,結(jié)合實(shí)例形式分析了RSA算法的原理、實(shí)現(xiàn)與使用方法,需要的朋友可以參考下
    2018-03-03
  • Spring Security單項(xiàng)目權(quán)限設(shè)計(jì)過(guò)程解析

    Spring Security單項(xiàng)目權(quán)限設(shè)計(jì)過(guò)程解析

    這篇文章主要介紹了Spring Security單項(xiàng)目權(quán)限設(shè)計(jì)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • SpringBoot整合ES多個(gè)精確值查詢 terms功能實(shí)現(xiàn)

    SpringBoot整合ES多個(gè)精確值查詢 terms功能實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot整合ES多個(gè)精確值查詢 terms功能實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • 基于java中cookie和session的比較

    基于java中cookie和session的比較

    下面小編就為大家?guī)?lái)一篇基于java中cookie和session的比較。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-08
  • 詳解如何使用Java編寫(xiě)圖形化的窗口

    詳解如何使用Java編寫(xiě)圖形化的窗口

    這篇文章主要介紹了如何使用Java編寫(xiě)圖形化的窗口,是Java的本地GUI軟件開(kāi)發(fā)的基礎(chǔ),需要的朋友可以參考下
    2015-10-10

最新評(píng)論

浮梁县| 喀喇沁旗| 伽师县| 麻栗坡县| 嫩江县| 乳山市| 耒阳市| 娱乐| 集安市| 习水县| 西平县| 陵川县| 麻城市| 昌宁县| 成安县| 抚州市| 潮安县| 来凤县| 故城县| 阿城市| 绥化市| 安庆市| 东丽区| 泊头市| 台东市| 满洲里市| 弋阳县| 吕梁市| 屯门区| 太湖县| 江阴市| 望奎县| 慈利县| 且末县| 上栗县| 营山县| 武穴市| 当阳市| 定州市| 监利县| 阿克陶县|