2

Apache CouchDB では、キーを二重引用符 " で囲む必要がありますが、エスケープすると、結果の nsurl は、コンソールにログが記録されたときに (null) を返し、結果の応答も (null) を返します。

コードは次のとおりです。

NSURL *url = [[NSURL alloc] initWithString:@"http://username:password@gcg.cloudant.com:5984/points/_design/user/_view/where?key=\"m0rph3v5\""];

また、機能しなかった二重引用符の代わりに %22 を使用してみました。

リクエスト URL に二重引用符を正常に追加するにはどうすればよいですか?

4

2 に答える 2

2

私が使用した stringWithFormat と関係があり、%22 も変数として解読しようとしたため、URL が台無しになりました。

nsmutablestring を使用してキー変数を追加すると、適切に機能することが判明しました:)

于 2011-01-20T13:28:49.583 に答える
1

%22 を使用するとうまくいきます。次のコード行を使用して、有効な NSURL オブジェクトを取得します。

NSURL *url = [[NSURL alloc] initWithString:@"http://username:password@gcg.cloudant.com:5984/points/_design/user/_view/where?key=%22m0rph3v5%22"];

奇妙なことに、これは @ 記号をエスケープせずに機能します。
IIRC もエスケープする必要があります (%40)。

于 2011-01-20T13:09:20.543 に答える