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面向对象语言学习基础的同学,学起来会轻松很多

 

posted @ 2020-09-27 22:52  龚一半  阅读(1152)  评论(0编辑  收藏  举报