小程序简易开发指南

Mr.Hope ... 小程序 大约 7 分钟

这里是开发前应当了解的内容,阅读时长大约为五分钟。

# yaml 介绍

YAML 是专门用来写配置文件的语言,非常简洁和强大。

# 如何打开或编辑 yaml

推荐使用 vscode,具体详见vscode 简单介绍

# yaml 中的值

合法的值大家编辑用到的一共有五种:

  • number(数字)
  • boolean(布尔值)
  • string(字符串)
  • array(数组)
  • object(对象)

# 什么是number

number是可以直接参与运算数值,整数和小数直接表示

:

  • 5201314
  • -1
  • 3.141592654

总结: 想要表达具体的数量使用数字,直接表示即可。

# 什么是boolean

boolean是布尔值,表示真假。只有两个: truefalse

# 什么是string

string是字符串,用于表达一串文本。

字符串默认不使用引号表示。

  • 如果字符串之中包含空格或特殊字符,需要放在双引号之中。

  • 如果双引号中包含双引号,需要使用 \ 转义。

  • 如果字符串有多行,可以以 |- 开头,并正常换行书写,无需再包含双引号。

str: |-
  这是一段文字。
  这是新一段文字。
   1. 序号1,前面有空格
   2. 序号2,前面有空格
1
2
3
4
5

:

  • Mr.Hope is handsome
  • 春眠不觉晓,处处闻啼鸟
  • "内容: 字符串"(含有 : 特殊字符并尾随空格)
  • "A saying goes: \"Great hopes make great man.\""

请注意: 1number,可以参加运算;"1"string,字符串内容为 1;同理,"true"stringtrue 才是表示“真”的 boolean

其他注意事项: 如果想要在字符串中表示回车,请输入\n

# 什么是array

Array 中文名叫数组,它是一个内容的集合,每个数组的每一项叫一个元素(element)。每个元素(element)可以是其他的任何值类型。

一组连词线开头的行,构成一个数组。

:

  • - Cat
    - Dog
    - Goldfish
    
    1
    2
    3
  • - -5
    - abc
    - true
    
    1
    2
    3

    在此数组中第一项是数字 -5,第二项是字符串 "abc",第三项是布尔值 true,该数组是合法的,数组的元素也可以是接下来的 object

总结:

array 是一个包含若干 元素 的集合,其中元素可以是其他数据类型。

# 什么是object

object 中文名叫对象(不是您想的那个对象),它是一组“键-值”对集合。每个键(key)对应着一个值(value),用冒号对应。该值(value)可以是任何内容。

:

  • a: 1
    b: "2"
    c: true
    d: "false"
    
    1
    2
    3
    4

    该对象有四项,分别是:

    • 值为数字 1a
    • 值为字符串 2b
    • 值为布尔值 真(true)的 c
    • 值为字符串 falsed
  • tag: text
    heading: 校园卡说明
    text: 校园卡是东师的金融消费卡
    
    1
    2
    3

总结:

object是一个拥有若干键值对的集合,其中值可以是其他数据类型。

# 关于值的嵌套

由于array的元素和 object 的值可以是五种值的任一个,故可以发生嵌套。

:

animal:
  - dog
  - cat
  - fish

personal-info:
  name: Mr.Hope
  gender: male
  address:
    - province: Liao Ning
      city: AnShan
    - province: Ji Lin
      city: Changchun
1
2
3
4
5
6
7
8
9
10
11
12
13

就是一个对象,它有两个键 animalpersonal-infoanimal 键对应的值是一个数组,包含三个字符串 dogcatfish,而 personal-info 的值又是一个对象。该对象的 address 的值还是一个数组,数组的每个元素又是一个个对象

# json 文件中合法的值有哪些

合法的值大家编辑用到的一共有五种: number(数字)、boolean(布尔值)、string(字符串)、array(数组)和object(对象)。

# json 介绍

# 对象

对象的一组键值对,使用冒号结构表示。

animal: pets
1

转为 JavaScript 如下。

{
  animal: "pets";
}
1
2
3

Yaml 也允许另一种写法,将所有键值对写成一个行内对象。

hash: { name: Steve, foo: bar }
1

转为 JavaScript 如下。

{ hash: { name: 'Steve', foo: 'bar' } }
1

# 数组

一组连词线开头的行,构成一个数组。

- Cat
- Dog
- Goldfish
1
2
3

转为 JavaScript 如下。

["Cat", "Dog", "Goldfish"];
1

数据结构的子成员是一个数组,则可以在该项下面缩进一个空格。

- - Cat
  - Dog
  - Goldfish
1
2
3

转为 JavaScript 如下。

[["Cat", "Dog", "Goldfish"]];
1

数组也可以采用行内表示法。

animal: [Cat, Dog]
1

转为 JavaScript 如下。

{
  animal: ["Cat", "Dog"];
}
1
2
3

# 复合结构

对象和数组可以结合使用,形成复合结构。

languages:
  - Ruby
  - Perl
  - Python
websites:
  YAML: yaml.org
  Ruby: ruby-lang.org
  Python: python.org
  Perl: use.perl.org
1
2
3
4
5
6
7
8
9

转为 JavaScript 如下。

{
  languages: ["Ruby", "Perl", "Python"],
  websites:
    {
      YAML: "yaml.org",
      Ruby: "ruby-lang.org",
      Python: "python.org",
      Perl: "use.perl.org",
    },
}
1
2
3
4
5
6
7
8
9
10

# 纯量

纯量是最基本的、不可再分的值。以下数据类型都属于 JavaScript 的纯量。

  • 字符串
  • 布尔值
  • 整数
  • 浮点数
  • Null
  • 时间
  • 日期

数值直接以字面量的形式表示。

number: 12.30
1

转为 JavaScript 如下。

{
  number: 12.3;
}
1
2
3

布尔值用 truefalse 表示。

isSet: true
1

转为 JavaScript 如下。

{
  isSet: true;
}
1
2
3

# 如何打开或编辑 json

推荐使用 vscode,具体详见vscode 简单介绍

# json 中的值

合法的值大家编辑用到的一共有五种:

  • number(数字)
  • boolean(布尔值)
  • string(字符串)
  • array(数组)
  • object(对象)

# 什么是number

number是可以直接参与运算数值,整数和小数直接表示

:

  • 5201314
  • -1
  • 3.141592654

总结: 想要表达具体的数量使用数字,直接表示即可。

# 什么是boolean

boolean是布尔值,表示真假。只有两个: truefalse

# 什么是string

string是字符串,用于表达一串文本。在文本内容外面套上英文双引号 " 即可表示string

:

  • "Mr.Hope is handsome"
  • "春眠不觉晓,处处闻啼鸟"
  • "A saying goes: \"Great hopes make great man.\""

请注意: 1number,可以参加运算;"1"string,字符串内容为 1;同理,"true"stringtrue 才是表示“真”的 boolean

其他注意事项: 如果想要在字符串中表示回车,请输入\n

# 什么是array

Array 中文名叫数组,它是用 [ ] 包括起来的、用英文逗号(comma)分隔开的内容的集合,每个项叫数组(array)的一个元素(element)。每个元素(element)可以是其他的任何值类型。

:

  • [1, 2, 3]
  • [-5, "abc", true] (在此数组中第一项是数字 -5,第二项是字符串 "abc",第三项是布尔值 true,该数组是合法的,数组的元素也可以是接下来的 object)
  • ["小程序必火", "666", "Mr.Hope有点帅"]

注意

  • [1,2,3,]是非法的,因为最后多了一个逗号导致格式不正确
  • [1,2,3 也是非法的,因为没有结束标识符 ] 导致格式不正确

总结:

array 是一个包含若干 元素 的集合,用 [ ] 表示,每一个 元素 之间需要用 英文逗号 隔开,即array = [element1 , element2 , ...],其中元素可以是其他数据类型。

# 什么是object

object 中文名叫对象(不是您想的那个对象),它是用 { } 包括起来的用逗号分隔开的一堆属性(property)的集合,每个属性(property)是一个不可重复的字符串,对应着一个值(value),用冒号对应。该值(value)可以是任何内容。

:

  • {"a":1,"b":"2","c":true,"d":"false"}

    该对象有四项,分别是:

    • 值为数字 1a
    • 值为字符串 2b
    • 值为布尔值 真(true)的 c
    • 值为字符串 falsed
  • {"tag":"p","head":"校园卡说明","text":"校园卡是东师的金融消费卡"}

注意

  • {a:1,b:2}是非法的,因为属性不是一个字符串
  • {"a":1,"a":2}是非法的,因为属性 a 出现了两次无法确定其值
  • {a:1,b:2,}a:1,b:2}是非法的,因为格式不正确。

总结:

object是一个拥有若干property的集合,用 { } 表示,每一个property都是不可重复的string,而每个property对应着一个valueobject = { property1 : value1 , proprety2 : value2 , ... },其中value可以是其他数据类型。

提示

使用 vscode 可以格式化object,可以使object更易于阅读。

如:

{"tag":"p","head":"校园卡说明","text":"校园卡是东师的金融消费卡"}

可以格式化为:

{
  "tag": "text",
  "heading": "校园卡说明",
  "text": "校园卡是东师的金融消费卡"
}
1
2
3
4
5

# 关于值的嵌套

由于arrayelementobjectvalue可以是五种值的任一个,故可以发生嵌套。

:

[{"a":"Mr.Hope"},{"b":"Ms.Hope"}]

就是一个数组: [ element1 , element2 ],而该数组的element1object{ "a" : "Mr.Hope" }element2object{ "b" : "Ms.Hope" }