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

    }


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

    }


    public var string: String? {
        switch self {
        case .JsonString(let value): return value
        default: return nil
        }
    }

    public var url: NSURL? {
        switch self {
        case .JsonString(let value): return NSURL(string: value)
        default: return nil
        }
    }

    public var int: Int? {
        switch self {
        case .JsonNumber(let value): return value.integerValue
        case .JsonString(let value): return value.bridgeToObjectiveC().integerValue
