Web サービスからの応答を処理する必要がある iOS アプリがあります。応答は、シリアライズされた JSON オブジェクトを含むシリアライズされた JSON 文字列で、次のようになります。
"{ \"name\" : \"Bob\", \"age\" : 21 }"
このレスポンスは、JSON オブジェクトではなく、 JSON文字列であることに注意してください。私がする必要があるのは、文字列を逆シリアル化することです。これにより、次のようになります。
{ "name" : "Bob", "age" : 21 }
そして、それを.+[NSJSONSerialization JSONObjectWithData:options:error:]
に逆シリアル化するために使用できますNSDictionary
。
しかし、どうすればその最初のステップを行うことができますか? つまり、シリアル化された JSON オブジェクトを取得するために、文字列を "エスケープ解除" する方法を教えてください。 +[NSJSONSerialization JSONObjectWithData:options:error:]
最上位オブジェクトが配列または辞書である場合にのみ機能します。文字列では機能しません。
最終的に、RFC 4627 のセクション 2.5 に準拠した独自の JSON 文字列パーサーを作成しました。しかし、これを行う簡単な方法または他の利用可能な方法を見落としていると思います。NSJSONSerialization