Javaはjsonを解析するためにどのパッケージを使用しますか?

(*-*)浩
リリース: 2020-09-16 17:54:51
オリジナル
5357 人が閲覧しました

Toolkitorg.json.jar は、JAVA での軽量の JSON 構築および解析ツールキットであり、JSON から XML、HTTP ヘッダー、Cookie、CDL への変換も含まれています。

ここでおすすめ: Alibaba FastJson は、「シリアル化」と「逆シリアル化」を含む Json 処理ツールキットであり、次の特性があります:
最速の速度、テスト fastjson のパフォーマンスが非常に高速であることがわかります。 、他の Java Json パーサーを上回ります。最速であると主張する JackJson を含む、

推奨コース: Java チュートリアル

Javaはjsonを解析するためにどのパッケージを使用しますか?

は強力で、Java Beans、コレクション、マップ、日付、列挙型を完全にサポートし、パラダイムをサポートし、イントロスペクションをサポートします。依存関係はなく、Java SE 5.0 または Java SE 5.0 で直接実行できます。 ;サポート Android; オープンソース (Apache 2.0)

ソース コード アドレス:

https://github.com/alibaba/fastjson

Fastjson API エントリ クラスは com.alibaba.fastjson.JSON です。一般的なシリアル化操作は、JSON クラスの静的メソッドを通じて直接完了できます。

public static Final Object parse(String text); // JSON テキストを JSONObject または JSONArray に解析します
public static Final JSONObject parseObject(String text); // JSON テキストを JSONObject に解析します
public static Final T parseObject(String text, Class clazz); // JSON テキストを JavaBean に解析します
public static Final JSONArray parseArray(String text); // JSON テキストを JSONArray に解析します
public static Final List parseArray (String text, Class clazz); //JSON テキストを 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 を JSONObject または JSONArray に変換します。

上記は、一部のプロジェクトで一般的な方法です。

次は、練習のために書いたコードです:

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,"张三"));
        //将集合或者对象序例化成JSON
        System.out.println(JSON.toJSON(json));
        System.out.println( JSON.toJSON(list) );
        //Json串反序列化成对象
        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}]";
        //数组对象反序列化成集合
        List<TestPerson> listPerson = JSON.parseArray(str,TestPerson.class);
         
        for(TestPerson item : listPerson){
            System.out.println( item.getName() );
            System.out.println( item.getAge());
        }
         
        //没有对象直接解析JSON对象
        JSONObject jobj = JSON.parseObject("{\"name\":\"李明\",\"age\":19}");
        System.out.printf("name:%s,age:%d\n",jobj.getString("name"),jobj.getBigInteger("age"));
         
        //没有对象直接解析JSON数组
        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());
        }
         
    }
 
}
ログイン後にコピー

以上がJavaはjsonを解析するためにどのパッケージを使用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート