      デフォルトは任意の値が返る
      */
     func getBool(key: Key, defaultValue: Bool) -> Bool {
-        let value: Value? = self[key]
-        if let value = value as? Int {
+        let value = self[key]
+        if let value = value as? Bool {
+            return value
+        } else if let value = value as? Int {
             return Bool(value)
         } else if let value = value as? String {
-            if value == "1" {
-                return true
-            } else if (value == "true") {
-                return true
-            } else {
-                return false
-            }
-        } else if let value = value as? Bool {
-            return value
+            return value == "1" || value == "true"
         } else {
             return defaultValue
         }

     デフォルトは任意の値が返る
     */
    func getDouble(key: Key, defaultValue: Double) -> Double {
        return self[key] as? Double ?? defaultValue
    }
    
    /**

     デフォルトは任意の値が返る
     */
    func getInt(key: Key, defaultValue: Int) -> Int {
        let value = self[key]
        if let value = value as? Int {
            return value
        } else if let value = value as? String {
            return Int(value) ?? defaultValue
        } else if let value = value as? Bool {
            return value ? 1 : 0
        } else {
            return defaultValue
        }
    }
    
    /**
