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.javaimport 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)); } }
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 サイトの他の関連記事を参照してください。