Java が文字列を json オブジェクトまたは json 配列に変換する方法

ガイドパッケージ:

<dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.4</version>
    <classifier>jdk15</classifier>
    <!-- jdk版本 -->
</dependency>

注: ここで問題が発生します。依存関係は自動的にインポートできません。 

解決:

Jar パッケージのダウンロード アドレス: Json-lib - SourceForge.net でファイルを参照

json-lib jar パッケージをダウンロードした後、jar パッケージの名前には jdk15 などの接尾辞が付きますが、現時点では 2 つの解決策があります。  

      1. jar パッケージをローカル ウェアハウス (対応するバージョン フォルダー) の net/sf/json-lib/2.4 に直接コピーし、jar パッケージの名前を json-lib-2.4.jar に変更し、 IDEA の Maven プロジェクト JSONObject を使用します。ディレクトリ内の lastUpdated ファイルを忘れずに削除してください。

      2. mvn install コマンドを使用して、jar パッケージをローカル ウェアハウスにインストールします (ウェアハウスのアドレス、jar バージョン、ダウンロードした jar の場所は独自のものに変更する必要があります)。

mvn install:install-file -DgroupId=net.sf.json-lib -DartifactId=json-lib -Dversion=2.4 -Dpackaging=jar -Dfile=D:\firefoxDownload\Redhat6.8\json-lib-2.4-jdk15。瓶

このようにして、JSONObject クラスを使用できます。

文字列を json オブジェクトまたは json 配列に変換する

注: json 文字列内のキーの名前は、エンティティ クラスと一致している必要があります。

 String datajson =
            "[" +
                "{" +
                    "'aliasName':'Taurus-49999787'," +
                    "'ftpPort':16602," +
                    "'hasPassWord':false," +
                    "'height':1080," +
                    "'ignoreTime':0," +
                    "'ip':'172.16.9.205'," +
                    "'key':'novaStar'," +
                    "'logined':false," +
                    "'loginedUsernames':[" +
                        "''" +
                    "]," +
                    "'password':''," +
                    "'platform':'rk312x'," +
                    "'privacy':true," +
                    "'productName':'TC300'," +
                    "'sn':'BZSA07194A0049999787'," +
                    "'syssetFtpPort':16604," +
                    "'syssetTcpPort':16605," +
                    "'tcpPort':16603," +
                    "'terminalState':5," +
                    "'username':[" +
                    "]," +
                    "'width':1920" +
                "}," +
                "{....}"+
            "]";
JSONArray jsonArray = JSONArray.parseArray(datajson);
for(int i=0; i<jsonArray.size(); i++) {
    JSONObject object = jsonArray.getJSONObject(i);
    Entity entity = JSONObject.parseObject(object.toJSONString() , Entity.class);// 将string类型直接封装成对象
    System.out.println(entity.toString());
}

おすすめ

転載: blog.csdn.net/gp_911014/article/details/132234724