ホームページ  >  記事  >  Java  >  JAVA は括弧で囲まれた JSON データとその簡単な紹介を生成および解析します

JAVA は括弧で囲まれた JSON データとその簡単な紹介を生成および解析します

php是最好的语言
php是最好的语言オリジナル
2018-08-02 11:35:342035ブラウズ

1.Jsonの簡単な紹介

1.1 jsonは、JavaScriptで最初に使用されたJavaScript Object Notationと呼ばれる、最も一般的で広く使用されているデータ送信形式です。

1.2 たとえば、以下はWangという名前のjsonオブジェクトです。 Ni Ma さんには、アレイを形成する 2 人のファンがいます。1 人は Xiao Wang、もう 1 人は Xiao Nima です。

{
      "name":"王尼玛",
      "fans":[{
            "name":"小王",
            "age":"7"
           },{
            "name":"小尼玛",
            "age":"10"
           }]
      }

2.json データ生成と分析

2.1 json 処理、オープンソース jackson、 Google Gson、Alibaba Baba の Fastjson.Gson は強力な機能を持っていますが、Fastjson のパフォーマンスが速いのは意見の問題です

2.2 ここでは、複雑な json から Java への変換を示すために、org.json を使い始めました。 Beans をインポートするには、まず、2 つの Maven 依存関係をアタッチします:

    <!-- https://mvnrepository.com/artifact/org.json/json -->
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20160810</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.7</version>
        </dependency>

2.3 json データの生成、つまり、json への各種変換 (String、map、java Beans)

2.3.1上記のクラスには基本的な Bean

Actor.java

import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Created by garfield on 2016/10/16.
 * 举三种创建json的例子
 */
public class DemoCreateJson {
    public static void main(String[] args) {
        StringCreateJson();
        mapCreateJson();
        beanCreateJson();
    }
    //String创建json
    /**
     * {
           "name":"王尼玛",
           "fans":[{
                 "name":"小王",
                 "age":"7"
                },{
                 "name":"小尼玛",
                 "age":"10"
                }]
           }
     */
    static void StringCreateJson(){
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name","王尼玛");

        //粉丝是个数组,其实就是嵌套json
        JSONObject jsonObject1 = new JSONObject();
        jsonObject1.put("name","小王");
        jsonObject1.put("age",7);

        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name","小尼玛");
        jsonObject2.put("age",10);

        //从此处可以看出其实list和json也是互相转换的
        List<JSONObject> jsonObjects = new ArrayList<JSONObject>();
        jsonObjects.add(jsonObject1);
        jsonObjects.add(jsonObject2);
        jsonObject.put("fans",jsonObjects);

        System.out.println("jsonObject直接创建json:" + jsonObject);
    }
    //第二种方法,用map方式
    static void mapCreateJson(){
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("name","王尼玛");
        Map<String,Object> map1 = new HashMap<String,Object>();
        map1.put("name","小王");
        map1.put("age",7);
        Map<String,Object> map2 = new HashMap<String,Object>();
        map2.put("name","小尼玛");
        map2.put("age",10);
        List<Map> jsonObjects = new ArrayList<Map>();
        jsonObjects.add(map1);
        jsonObjects.add(map2);
        map.put("fans",jsonObjects);
        System.out.println("集合中Map创建json对象:" + new JSONObject(map));
    }
    //第三种,也是比较常用的,用bean转换,(这里用的是map作为子json,如果必须要创建复杂bean对象,建议用Gjson操作)
    static void beanCreateJson(){
        Actor actor = new Actor();
        actor.setName("王尼玛");
        Map<String,Object> map1 = new HashMap<String,Object>();
        map1.put("name","小王");
        map1.put("age",7);
        Map<String,Object> map2 = new HashMap<String,Object>();
        map2.put("name","小尼玛");
        map2.put("age",10);
        List<Map> maps = new ArrayList<Map>();
        maps.add(map1);
        maps.add(map2);
        actor.setFans(maps);
        System.out.println("java bean创建json对象:" + new JSONObject(actor));
    }
}

2.4 が欠けています。同様に、2 番目の解析メソッドがより一般的に使用されます。ちなみに、実行結果は添付されています:

import java.util.List;
import java.util.Map;

/**
 * Created by garfield on 2016/10/16.
 */
public class Actor {
    private String name;
    private List<Map> fans;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<Map> getFans() {
        return fans;
    }

    public void setFans(List<Map> fans) {
        this.fans = fans;
    }

}

関連記事:

javaでのjsonデータ(シリアル化データと逆シリアル化データ)の生成と解析のfastjsonの詳細な紹介

javaはJsonデータを解析するためにFastJsonを使用します

関連ビデオ:


Java アノテーションの包括的な分析

以上がJAVA は括弧で囲まれた JSON データとその簡単な紹介を生成および解析しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。