国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > Java > 正文

java解析json方法總結(jié)

2024-07-14 08:43:56
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

工具包org.json.jar,是一個(gè)輕量級(jí)的,JAVA下的json構(gòu)造和解析工具包,它還包含JSON與XML, HTTP headers, Cookies, CDL的轉(zhuǎn)換。

這里推薦使用:阿里巴巴FastJson是一個(gè)Json處理工具包,包括“序列化”和“反序列化”兩部分,它具備如下特征:

速度最快,測(cè)試表明,fastjson具有極快的性能,超越任其他的Java Json parser。包括自稱最快的JackJson;

功能強(qiáng)大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;無(wú)依賴,能夠直接運(yùn)行在Java SE 5.0以上版本;支持Android;開源 (Apache 2.0)

源碼地址:

https://github.com/alibaba/fastjson

Fastjson API入口類是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON類上的靜態(tài)方法直接完成。

public static final Object parse(String text); // 把JSON文本parse為JSONObject或者JSONArray 
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject 
public static final T parseObject(String text, Class clazz); // 把JSON文本parse為JavaBean 
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 
public static final List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合 
public static final String toJSONString(Object object); // 將JavaBean序列化為JSON文本 
public static final String toJSONString(Object object, boolean prettyFormat); // 將JavaBean序列化為帶格式的JSON文本 
public static final Object toJSON(Object javaObject); 將JavaBean轉(zhuǎn)換為JSONObject或者JSONArray。

以上都是一些項(xiàng)目中的常用方法。

以下是自己練習(xí)寫的代碼:

package com.test; public class TestPerson {  private int age;  private String name;     public TestPerson(){       }     public TestPerson(int age,String name){    this.age=age;    this.name=name;  }     public int getAge() {    return age;  }  public void setAge(int age) {    this.age = age;  }  public String getName() {    return name;  }  public void setName(String name) {    this.name = name;  }}   package com.test;import java.util.*; import com.alibaba.fastjson.*; public final class TestFastJson {   public static void main(String[] args) {    // TODO Auto-generated method stub         TestPerson json = new TestPerson(19,"李明");    List<TestPerson> list = new ArrayList<TestPerson>();    list.add(json);    list.add(new TestPerson(12,"張三"));    //將集合或者對(duì)象序例化成JSON    System.out.println(JSON.toJSON(json));    System.out.println( JSON.toJSON(list) );    //Json串反序列化成對(duì)象    TestPerson person = JSON.parseObject("{/"name/":/"李明/",/"age/":19}", TestPerson.class);    System.out.printf("name:%s,age:%d/n",person.getName(),person.getAge());         String str = "[{/"name/":/"李明/",/"age/":19},{/"name/":/"張三/",/"age/":12}]";    //數(shù)組對(duì)象反序列化成集合    List<TestPerson> listPerson = JSON.parseArray(str,TestPerson.class);         for(TestPerson item : listPerson){      System.out.println( item.getName() );      System.out.println( item.getAge());    }         //沒有對(duì)象直接解析JSON對(duì)象    JSONObject jobj = JSON.parseObject("{/"name/":/"李明/",/"age/":19}");    System.out.printf("name:%s,age:%d/n",jobj.getString("name"),jobj.getBigInteger("age"));         //沒有對(duì)象直接解析JSON數(shù)組    JSONArray jarr = JSON.parseArray("[{/"name/":/"李明/",/"age/":19},{/"name/":/"張三/",/"age/":12}]");         for(int i=0,len=jarr.size();i<len;i++){      JSONObject temp= jarr.getJSONObject(i);      System.out.printf("name:%s,age:%d/n",temp.getString("name"),temp.getBigInteger("age"));    }         for(Object obj:jarr){      System.out.println(obj.toString());    }       } }
 


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JAVA教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 钟祥市| 石家庄市| 六枝特区| 安吉县| 堆龙德庆县| 舒城县| 长垣县| SHOW| 天门市| 鸡西市| 清流县| 珠海市| 嘉荫县| 黑龙江省| 淮南市| 高阳县| 澄城县| 乐至县| 咸阳市| 嘉禾县| 睢宁县| 惠东县| 芒康县| 桓台县| 呈贡县| 永昌县| 岫岩| 丰县| 无锡市| 海城市| 介休市| 扎鲁特旗| 滨州市| 台东市| 儋州市| 陕西省| 连云港市| 宁陕县| 大同市| 兰考县| 邵阳市|