質問の要約でJavaを使用してJSON

A、JSONの構文解析ライブラリ

     FASTJSON:アリババは、パフォーマンスが非常に良いですが、JSONライブラリを開発しました。

    プロジェクトのMaven POMファイルで、次の依存性

 

<依存> 
    <groupIdを> com.alibaba </ groupIdを> 
    <たartifactId> fastjson </たartifactId> 
    <バージョン> 1.2.47 </バージョン> 
</依存関係>

第二に、符号化および復号化

1、コーディング

輸入com.alibaba.fastjson.JSONObject; 


輸入java.util.Arrays。
輸入はjava.util.List; 

パブリック クラスJsonTest1 {
     公共 静的 ボイドメイン(文字列[]引数){ 
        JSONObjectオブジェクト = 新しいJSONObject()。
        object.put( "文字列"、 "文字列" ); 
        object.put( "整数"、1 )。
        object.put(「ブール」)。
        一覧 <整数>リスト=は、Arrays.asList(1,2,3,4,5 ); 
        object.put( "リスト" 、リスト)。ヌルヌル); 
        System.out.println(オブジェクト)。
    } 
}

結果

{ "整数":1、 "ブール":、 "文字列": "文字列"、 "リスト":[1,2,3,4,5]}

図2に示すように、復号化

輸入com.alibaba.fastjson.JSON;
輸入com.alibaba.fastjson.JSONArray;
輸入com.alibaba.fastjson.JSONObject; 

輸入java.lang.annotation.ElementType;
輸入java.util.Arrays。
輸入はjava.util.List; 

パブリック クラスJsonTest2 {
     公共 静的 ボイドメイン(文字列[]引数){ 
        JSONObjectオブジェクト = JSONObject.parseObject( "{\" \ブール":真、\"文字列\ "\"文字列\」、\ "リスト\": [1,2,3]、\ "INT \":2、\ "テスト\":\ "\"}」)。
        // ブール 
        ブールBL = object.getBooleanValue( "ブール" ); 
        System.out.println(BL)。
        // 文字 
        列の文字列= object.getString( "文字列" ); 
        System.out.println(文字列); 
        // リストの 
        一覧LTS = JSON.parseArray(。object.getJSONArray( "リスト")toJSONString()、整数。クラス); 
        System.out.println(LTS)。
        (オブジェクトI:LTS){ 
            のSystem.out.println(I)。
        } 
        // 整数 
        整数整数= object.getIntValue( "2" )。
        System.out.println(整数)。
        // 没有这个キー 
        文字列AA = object.getString( "AA" ); 
        System.out.println(AA)。
        文字列BB=(文字列)object.get( "AA" )。
        System.out.println(BB)。
        // 对应的キー没有値 
        文字列DD = object.getString( "試験" )。
        System.out.println(DD)。
        文字列CC = object.get( "試験" ).toString(); 
        System.out.println(CC)。
    } 

}

結果

真の
スタイル
[ 1、2、3 ]
 1つの
2 
3 
0 ヌルヌル

最後の二つの値は「」です

三、JSON文字列と各変換

https://www.runoob.com/w3cnote/java-json-instro.html

 

 

 第四に、JSON.toJSONStringの問題()の

オリジナル:https://blog.csdn.net/weixin_43228497/article/details/87975659

4.1、最初のケース:
アクティビティアクティビティ=新しい新しい活動();
文字列JSON.toJSONString STR =(活性);
この場合、STRは、{}である
第二の場合:
リスト一覧新規新しい=のArrayList();
文字列= JSON STR。 (リスト)toJSONString;
この場合、STRは、[]である
第三の場合:
文字列= JSON.toJSONString STR(NULL);
ここで、strがnullであります

、JSON.toJSONString()は何もないリストが[]?が続いたときに回避するための方法を4.2、
IF(CollectionUtils.isEmpty(activityTypeDTOS)){//その上で、この判決を追加

五、JSON.toJSON()。toString()メソッドとJSON.toJSONString()と同じ結果

輸入com.alibaba.fastjson.JSON;
輸入com..socialsecurity.domain.model.ABA1Entity。
輸入はjava.util.ArrayList; 


パブリック クラスJsonTest {
     公共 静的 ボイドメイン(文字列[]引数){ 
        ABA1Entity aba1Entity1 = 新しいABA1Entity()。
        aba1Entity1.setAac002( "2" ); 
        ABA1Entity aba1Entity2 = 新しいABA1Entity(); 
        aba1Entity2.setAac002( "3" )。
        一覧 <ABA1Entity> aba1EntityList = 新しい ArrayListを<> ();
        aba1EntityList.add(aba1Entity1)。
        aba1EntityList.add(aba1Entity2)。
        文字列JSON = JSON.toJSON(aba1EntityList).toString(); 
        ストリングjson1 = JSON.toJSONString(aba1EntityList)。
        System.out.println(JSON)。
        System.out.println(json1)。
    } 
}

結果

[{ "aac002": "2"}、{ "aac002": "3" }] 
[{ "aac002": "2"}、{ "aac002": "3"}]

六、StringEscapeUtils.unescapeJava(jsonStr)削除エスケープ

輸入com.alibaba.fastjson.JSON;
輸入com.alibaba.fastjson.JSONArray;
輸入com.alibaba.fastjson.JSONObject;
輸入com.socialsecurity.domain.model.Person2;
輸入groovy.json.StringEscapeUtils。

輸入java.util.HashMapを;
輸入はjava.util.List;
輸入java.util.Map; 

パブリック クラスのテスト{
     公共 静的 ボイドメイン(文字列[]引数){ 
        リストデータ = NULL ; 
        地図 <文字列、文字列>このresultMap = 新しい HashMapの<> ();
        JSONArray objArray = 新しいJSONArray(); 
        resultMap.put( "年齢"、 "AA" )。
        resultMap.put( "名前"、 "BB" ); 
        ストリングjsonObject = JSON.toJSONString(このresultMap)。
        objArray.add(jsonObject)。
        System.out.println( "objArray:" + objArray)。
        データ = objArray。
        文字列JSON = JSON.toJSON(データ).toString(); 
        System.out.println(JSON)。
        もし(data.size()== 1 ){ 
            JSONObject json3 = JSONObject.parseObject((文字列)data.get(0)); 
            ストリングjsonStr = JSON.toJSON(json3).toString(); 
            ストリングjson4 = StringEscapeUtils.unescapeJava(jsonStr)。
            System.out.println( "data.get(0):" + jsonStr)。
            System.out.println( "StringEscapeUtils.unescapeJava(jsonStr):" + json4)。
        } 
        PERSON2人 = 新しいPERSON2()。
        person.setName( "BB" ); 
        person.setAge( "AA" ); 
        文字列json1 = JSON.toJSON(人).toString(); 
        System.out.println( "人:" + json1)。
    } 

}

 

おすすめ

転載: www.cnblogs.com/hoje/p/11867928.html