iOS_Subhra
4/24/2018 - 11:27 AM

JSON Parser

Parse JSON Data

import UIKit


class ARCJSONParser: JSONSerialization {
    
    static  func  validateJSON<T>(jsonData : T) -> Bool {
    
        var  isvalidJson : Bool = false
        
        isvalidJson = JSONSerialization.isValidJSONObject(jsonData)
        
        return  isvalidJson
    
    }
    
    static  func  fetchJSONData<T>(jsonResponse : T) throws -> Data? {
    
        var  jsonData : Data?
        do{
        
            jsonData = try JSONSerialization.data(withJSONObject: jsonResponse, options: JSONSerialization.WritingOptions.prettyPrinted)
        
        }catch {
        
            print("invalid JSON Data")
            
            throw  Result.Failure(ErrorType.inValidJson)
            
        }
        
        return  jsonData
    
    }
    
    static  func  jsonResponse(jsonResponse : Data,readingOption : JSONSerialization.ReadingOptions = []) throws -> Any? {
    
        var jsonResult : Any?
        
        do{
        
            jsonResult = try JSONSerialization.jsonObject(with: jsonResponse, options: readingOption)
            
        }catch {
        
             print("invalid JSON Data")
            throw  Result.Failure(ErrorType.inValidJson)
        }
        
        return jsonResult
    
    }
        

}