Skip to content
chzyer edited this page Jan 22, 2013 · 3 revisions

特性:

  1. Line和PHP中的array相似, 同时拥有ArrayList和HashMap, 根据查询字段的不同来区分到底是array还是hash
  2. Line支持解析json, 并且输出为json

1. 初始化

  • 创建空数据

Line line = new Line();
// {}
  • 通过json初始化

String json = "{'a': 'b'}";
Line line = new Line(json);
// {"a": "b"}
  • 通过手动初始化值

Line line = Line.Put("a", "b");
// {"a": "b"}

2. 数据录入

  • 录入常用类型

    可以使用put来完成绝大部分的数据录入, 并且支持嵌套
//目标: {"a": 0, "b": true, "c": "d", "d": {"e": -3}, "e": [1, 2]}
Line line = new Line();
line.put("a", 0);
line.put("b", true);
line.put("c", "d");
line.put("d", Line.Put("e", -3));
line.put("e", Line.PutArray(1, 2));
  • 录入自定义类型

    Line支持使用put来录入Object类型, 但这将无力于格式化输出(json).

3. 数据输出

  • 输出常用类型

    • integer
      将数据格式化为数字, 如果为字符串, 也会格式化为数字
      如果数据类型为boolean时, 对应关系是, false: 0, true: 1
    • str
      返回数据的toString()方法
    • bool
      当数据为空时, 返回false 当数据类型为boolean时, 返回其值
      当数据类型为数字时, 只有当数字为0的时候返回false
      当数据类型为字符串时, 只有当字符串长度为0或者于"false"匹配时, 才为false 代码实例:
//支持类型智能转换
line.integer("a"); // 0
line.str("a"); // "0"
line.bool("a"); // False

line.bool("b"); // True

line.str("c"); // "d"
line.bool("c"); // True

line.line("d"); //类型Line, {"e": -3}
line.line("e"); //类型Line, [1, 2]
  • 输出自定义类型

Line仅提供get输出Object, 再根据需要自行强制转换