2

したがって、私の iOS アプリはデータ (json) をサーバーに送信し、すべてがうまくいけば、サーバーは json response を返します{"status":"ok"}。この応答は単なる確認であるため、実際に解析する必要はないと考えていたので、取得した応答NSString"status":"ok".

意図した文字列に引用符が含まれているため、応答データをこの文字列と比較するのは非常に困難です。

自分のやりたいことを実現する方法があると確信しています。

4

4 に答える 4

4

おそらくあなたが望む答えではありません。ある時点で、次のいずれかを実行する必要があります。

  • 新しいアプリ バージョン (おそらく pid または nonce) をサポートするために、応答に新しいフィールドを追加します。
  • サーバー側のコードを変更して、新しい JSON エンコーダー (おそらく空白の動作が異なるもの) を使用します。
  • ステータスがOKでない場合のエラーメッセージを追加

その場合、アプリの古いバージョンはすべて、これを行うことを妨げます。代わりに、今日正しく解析を行って、将来の平和を手に入れましょう。NSJSONSerialization は使いやすく、上記の各ケースを処理する結果をすばやく解析します。

于 2013-03-13T16:42:36.183 に答える
1

文字列に二重引用符を含める方法を尋ねていると思いますか?

文字列内の二重引用符をエスケープするには?

C に似た言語で文字をエスケープする標準的な手段はバックスラッシュを使用するため、結果を string と比較する必要があります"{\"status\":\"ok\"}"

于 2013-03-13T16:39:59.837 に答える
0

Objective-C 文字列にリテラル引用符を含める方法を尋ねているだけですか?

if ([returnedText isEqualToString:@"{\"status\":\"ok\"}"]) {
    // success!
} else {
    // failure :-(
}

もちろん、この正確な文字列のみが返されることを確信している必要があります...特に、返された JSON に予期しない空白が含まれていないことを確認できますか?

于 2013-03-13T16:41:19.633 に答える