Dart 類與對象 Map類 JSON


dart是谷歌開發的編程語言,是flutter架構的基礎,感覺語言上很靠近面向對象Java語言,由於dart語言所有數據類型都是基於object,所以dart也是面向對象編程(面向百度(不是))
格式(以User類為例):
var customer = new User.initiate();

使用老師的簡單例子:
一個簡單的User類:

class User {
  String name;
  int age;
  //類定義中所有的變量都會隱式的定義setter方法,
  //針對非空的變量會額外地增加getter方法
  //constructor
  User(this.name,this.age);
  //named constructor用於從另一個類或現有數據塊中快速構造實例對象
  User.fromJson(Map json) {
    name = json['name'];
    age = json['age'];
  }
  // 一個帶有初始化列表的命名構造方法
  User.initiate() 
    : name = 'Bob',
      age = 34;

  String toString() {
   return "name: "+this.name+"\nage: "+this.age.toString();
  }
}
main() {
  User user new User('Tom', 31);
  print(user.name);
  print(user.age);
  user.name = '張三'; //相當於使用了name的setter方法
  user.age = 20;

  print(user.name);
  print(user.age);

  Map Jim = {'name':'Jim', 'age':27};
  User user2 new User.fromJson(Jim);
  print(user2.toString());

  User user3 new User.initiate();
  print(user3.toString());
}

 

 

第一次接觸JSON,這種格式在Javascript中很常見,據了解是類似於XML的標記性集合,但本實例沒有實際使用JSON。
其中Map是Java中的鍵值對數據集合。在Dart語言中也適用
要使用Map文字聲明Map,需要將鍵值對括在一對花括號 {}中 。
這是它的語法
var identifier = { key1:value1, key2:value2 [,…..,key_n:value_n] }

JSON
1、JSONObject(一般叫做JSON)指的是JSON對象,表現為鍵值對(key:value),一個key對應一個value,key不能重復。可以將JSON理解為一種特殊的字符串,只不過是用了特定的符號進行了標注而已。
2、形式:{“key” : “value”},key和value都必須用雙引號引起來。例如: {“name”: “Michael”}
3、創建格式:JSONObject json = new JSONObject();

Map
1、Map也是鍵值對,不過表現為{key=value},並且key和value不需要用雙引號引起來。例如:{name=Michael,age=21}。
2、Map的key可以為對象,JSON的key只能為string。JSON相當於是一種特殊的Map。
3、創建格式:Map map = new HashMap();

JSONArray
1、JSONArray指的是JSON數組,用[]表示,里面可以套上JSON,例如:[ {“name”: “Michael”}, {“name”: “Jake”}]。
2、創建格式:JSONArray jsonArray = new JSONArray();

ArrayList
1、List是一個接口,ArrayList是List接口的一個實現類。例如:[Michael,Jake]。
2、創建格式:List list = new ArrayList();

如果有過Java面向對象語言學習基礎的同學,學起來會輕松很多

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM