         return JSONValueArray(value: deserializedArray)
     }
     
+    /// 値からJSONデータを読み込む
+    /// - parameter value 読み込む値
+    /// - returns: JSONデータ
+    ///   読み込む値に応じたデータを格納する
     private class func deserializeValue(value: AnyObject) -> JSONValue {
         if value.isKindOfClass(NSString) {
             return deserializeString(value as! NSString)

        return JSONValueNull()
    }
    
    private class func deserializeString(string: NSString) -> JSONValue {
        return JSONValueString(value: String(string))
    }
    
    private class func deserializeNumber(number: NSNumber) -> JSONValue {
        guard let objcType = String.fromCString(number.objCType) else {
            return JSONValueNull()

        return deserializeWith(data: data)
    }
    
    /// シリアライズされたデータからJSONを読み込む
    /// - parameter data シリアライズされたJSONデータ
    private class func deserializeWith(data data: NSData) -> JSONValue {
        guard let jsonObject = try? NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions()) else {
            return JSONValueNull()
