     }
 
 
-    subscript(key: String) -> JsonValue? {
+    public subscript(key: String) -> JsonValue? {
         switch self {
         case let .JsonObject(o):
             return o[key]

        }
    }

    subscript(index: Int) -> JsonValue? {
        switch self {
        case let .JsonArray(a):
            return a[index]

        }
    }

    public var bool: Bool? {
        switch self {
        case .JsonBool(let value): return value
        case .JsonNumber(let value): return value.boolValue
