2016-08-29 5 views
2

これは、サーバーから返されたjson文字列です。オブジェクトマッパークラスにマップして値を出力しようとしていますが、次のエラーが発生します。エラードメイン= NSCocoaErrorDomainコード= 3840「文字1の前後のオブジェクトに値の文字列キーがありません」

エラードメイン= NSCocoaErrorDomainコード= 3840「文字1の前後のオブジェクトに値の文字列キーがありません」

{'Status': False, 'updatedStatus': True, 'connectionStatus': True} 

そして、次の私は、サーバーから返された文字列を変更することはできません

public class Info: Mappable { 


    internal let kStatusKey: String = "Status" 
    internal let kConnectionStatusKey: String = "connectionStatus" 
    internal let kupdatedStatusKey: String = "updatedStatus" 


    // MARK: Properties 
    public var Status: String? 
    public var connectionStatus: String? 
    public var updatedStatus: String? 



    // MARK: ObjectMapper Initalizers 
    /** 
    Map a JSON object to this class using ObjectMapper 
    - parameter map: A mapping from ObjectMapper 
    */ 
    required public init?(_ map: Map){ 

    } 

    /** 
    Map a JSON object to this class using ObjectMapper 
    - parameter map: A mapping from ObjectMapper 
    */ 
    public func mapping(map: Map) { 
     Status <- map[kStatusKey] 
     connectionStatus <- map[kConnectionStatusKey] 
     updatedStatus <- map[kUpdatedStatusKey] 

    } 
} 

私のマッパークラスで、私は自分のコードを修正することができますどのような方法があります。 助けていただければ幸いです。ありがとうございました。

+0

'Error Domain = NSCocoaErrorDomain Code = 3840"文字1の前後のオブジェクトに値の文字列キーがありません。 " 'mapping'メソッドが呼び出されたときに表示されますか? –

+2

これは有効なJSONではありません(http://jsonlint.comで試してください)。文字列は、 '' ... ''ではなく、' '..." 'で囲まなければなりません。http://www.json.orgを参照してください。 –

+0

@ MartinRは正しいです。この: '{ \t "ステータス": "偽"、 \t "updatedStatus": "真"、 \t "connectionStatus": "真" は}'有効なJSONです。 –

答えて

2

あなたのJSONは、この

のようになります。{ "ステータス":偽、 "updatedStatus":真、 "connectionStatus":真 }

この時にあなたのマッパーを更新します。

関連する問題