public class JsonArray <: JsonValue {
public init()
public init(list: ArrayList<JsonValue>)
public init(list: Array<JsonValue>)
} 功能:此类为 JsonValue 实现子类,主要用于封装数组类型的 JSON 数据。
示例:
使用示例见JsonArray 使用示例。
public init(list: ArrayList<JsonValue>)
功能:将指定的 ArrayList 类型实例封装成 JsonArray 实例。
参数:
public init(list: Array<JsonValue>)
功能:将指定的 Array 类型实例封装成 JsonArray 实例。
参数:
public func add(jv: JsonValue): JsonArray
功能:向 JsonArray 中加入 JsonValue 数据。
参数:
返回值:
public func get(index: Int64): Option<JsonValue>
功能:获取 JsonArray 中指定索引的 JsonValue,并用 Option<JsonValue> 封装。
参数:
返回值:
public func toJsonString(): String
功能:将 JsonArray 转换为 JSON 格式的 (带有空格换行符) 的字符串。
返回值:
public func toJsonString(depth: Int64, bracketInNewLine!: Bool = false, indent!: String = " "): String
功能:将 JsonArray 转换为 JSON 格式的字符串。该函数将指定初始的缩进深度、第一个括号后是否换行以及缩进字符串。
参数:
返回值:
异常:
public operator func [](index: Int64): JsonValue
功能:获取 JsonArray 中指定索引的 JsonValue。
参数:
返回值:
异常:
public class JsonBool <: JsonValue {
public init(bv: Bool)
} 功能:此类为 JsonValue 实现子类,主要用于封装 true 或者 false 的 JSON 数据。
public func getValue(): Bool
功能:获取 JsonBool 中 value 的实际值。
返回值:
public func toJsonString(): String
功能:将 JsonBool 转换为 JSON 格式的 (带有空格换行符) 字符串。
返回值:
public class JsonFloat <: JsonValue {
public init(fv: Float64)
public init(v: Int64)
} 功能:此类为 JsonValue 实现子类,主要用于封装浮点类型的 JSON 数据。
public func getValue(): Float64
功能:获取 JsonFloat 中 value 的实际值。
返回值:
public func toJsonString(): String
功能:将 JsonFloat 转换为 JSON 格式的 (带有空格换行符) 字符串。
返回值:
public class JsonInt <: JsonValue {
public init(iv: Int64)
} 功能:此类为 JsonValue 实现子类,主要用于封装整数类型的 JSON 数据。
public func getValue(): Int64
功能:获取 JsonInt 中 value 的实际值。
返回值:
public func toJsonString(): String
功能:将 JsonInt 转换为 JSON 格式的 (带有空格换行符) 字符串。
返回值:
public func toJsonString(): String
功能:将 JsonNull 转换为 JSON 格式的 (带有空格换行符) 字符串。
返回值:
public class JsonObject <: JsonValue {
public init()
public init(map: HashMap<String, JsonValue>)
} 功能:此类为 JsonValue 实现子类,主要用于封装 object 类型的 JSON 数据。
public func containsKey(key: String): Bool
功能:判断 JsonObject 中是否存在 key。
参数:
返回值:
public func get(key: String): Option<JsonValue>
功能:获取 JsonObject 中 key 对应的 JsonValue,并用 Option<JsonValue> 封装。
参数:
返回值:
public func getFields(): HashMap<String, JsonValue>
功能:获取 JsonObject 中的 fields 数据。
返回值:
public func kind(): JsonKind。
功能:返回当前 JsonObject 所属的 JsonKind 类型(JsObject)。
返回值:
public func put(key: String, v: JsonValue)
功能:向 JsonObject 中加入 key-JsonValue 数据。
参数:
public func size(): Int64
功能:获取 JsonObject 中 fields 存入 string-JsonValue 的数量。
返回值:
public func toJsonString(): String
功能:将 JsonObject 转换为 JSON 格式的 (带有空格换行符) 字符串。
返回值:
public func toJsonString(depth: Int64, bracketInNewLine!: Bool = false, indent!: String = " "): String
功能:将 JsonObject 转换为 Json格式的字符串。该函数将指定初始的缩进深度、第一个括号后是否换行以及缩进字符串。
参数:
返回值:
异常:
public operator func [](key: String): JsonValue
功能:获取 JsonObject 中 key 对应的 JsonValue。
参数:
返回值:
异常:
public class JsonString <: JsonValue {
public init(sv: String)
} 功能:此类为 JsonValue 实现子类,主要用于封装字符串类型的 JSON 数据。
public func getValue(): String
功能:获取 JsonString 中 value 的实际值。
返回值:
public func kind(): JsonKind
功能:返回当前 JsonString 所属的 JsonKind 类型(JsString)。
返回值:
public func toJsonString(): String
功能:将 JsonString 转换为 JSON 格式的 (带有空格换行符) 字符串。
返回值:
sealed abstract class JsonValue <: ToString
功能:此类为 JSON 数据层,主要用于 JsonValue 和 String 数据之间的互相转换。
抽象类 JsonValue 提供了 String 类型和具体的 JSON 类型相互转换的接口,以及具体的 JSON 类型判断功能。
示例:
使用示例见JsonValue 和 String 互相转换。
public static func fromStr(s: String): JsonValue
功能:将字符串数据解析为 JsonValue。对于整数,支持前导 '0b','0o','0x'(不区分大小写),分别表示二进制,八进制和十六进制。字符串解析失败时将打印错误字符及其行数和列数,其中列数从错误字符所在行的非空格字符起开始计算。
JSON 在解析 String 转换为 JsonValue 时,转义字符 \ 之后只能对应 JSON 支持的转义字符(b、f、n、r、t、u、\、"、/),其中 \u 的格式为:\uXXXX,X 为十六进制数,例:\u0041 代表字符 'A'。
参数:
返回值:
异常:
示例:
import encoding.json.*
main() {
println(JsonString("\b | \f | \n | \r | \t | A | \\ | \" | /").toString())
println(JsonValue.fromStr("\"\\b\"").toString())
println(JsonValue.fromStr("\"\\f\"").toString())
println(JsonValue.fromStr("\"\\n\"").toString())
println(JsonValue.fromStr("\"\\r\"").toString())
println(JsonValue.fromStr("\"\\t\"").toString())
println(JsonValue.fromStr("\"\\u0041\"").toString())
println(JsonValue.fromStr("\"\\\\\"").toString())
println(JsonValue.fromStr("\"\\\"\"").toString())
println(JsonValue.fromStr("\"\\/\"").toString())
} 运行结果如下:
"\b | \f | \n | \r | \t | A | \\ | \" | /" "\b" "\f" "\n" "\r" "\t" "A" "\\" "\"" "/"
public func asArray(): JsonArray
功能:将 JsonValue 转换为 JsonArray 格式。
返回值:
异常:
public func asBool(): JsonBool
功能:将 JsonValue 转换为 JsonBool 格式。
返回值:
异常:
public func asFloat(): JsonFloat
功能:将 JsonValue 转换为 JsonFloat 格式。
返回值:
异常:
public func asInt(): JsonInt
功能:将 JsonValue 转换为 JsonInt 格式。
返回值:
异常:
public func asNull(): JsonNull
功能:将 JsonValue 转换为 JsonNull 格式。
返回值:
异常:
public func asObject(): JsonObject
功能:将 JsonValue 转换为 JsonObject 格式。
返回值:
异常:
public func asString(): JsonString
功能:将 JsonValue 转换为 JsonString 格式。
返回值:
异常: