国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 儋州市| 涡阳县| 乌鲁木齐市| 钟山县| 浦县| 化德县| 库尔勒市| 理塘县| 南投县| 奉贤区| 会东县| 买车| 称多县| 彭阳县| 古浪县| 古丈县| 会昌县| 开远市| 金沙县| 济南市| 区。| 安西县| 拉萨市| 侯马市| 铜陵市| 临邑县| 鹤壁市| 西乌| 阿勒泰市| 新绛县| 洮南市| 靖宇县| 万山特区| 乐山市| 三门县| 嘉黎县| 眉山市| 从化市| 兰溪市| 苍南县| 福建省|