nsStringからのnsjsonserialization
-
28-10-2019 - |
質問
nsstringを持っていて、nsjsonserializationを使用したい場合は可能ですか?どうすればいいですか?
解決
まず、変換する必要があります NSString
に NSData
次のことをすることによって
NSData *data = [stringData dataUsingEncoding:NSUTF8StringEncoding];
次に、単に使用します JSONObjectWithData
JSONに変換する方法
id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
他のヒント
あなたはあなたを変換する必要があります NSString
に NSData
, 、その時点で使用できます +[NSJSONSerialization JSONObjectWithData:options:error:]
方法。
NSString * jsonString = YOUR_STRING;
NSData * data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError * error = nil;
id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
if (!json) {
// handle error
}
あなたは次のように言うことであなたの文字列をNSDATAに変換することができます:
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
その後、一緒に使用できます NSJSONSerialization
. 。ただし、それに注意してください NSJSONSerialization
iOS5のみなので、TouchJsonやJsonkitのようなライブラリを使用する方が良いかもしれません。どちらもとにかく文字列を直接作業させて、NSDATAに変換するステップを保存します。
ネイティブのiOS JSONクラスを一般的なプロトコルでラップする方法と、ネイティブのiOS JSONクラスを使用する実装を実証するブログ投稿を書きました。
このアプローチにより、ネイティブ機能を使用するのがはるかに簡単になり、記述する必要があるコードの量が減ります。さらに、ネイティブのものが不十分であることが判明した場合、Jsonkitなどでネイティブの実装を切り替えるのがはるかに簡単になります。
http://danielsaidi.com/blog/2012/07/04/json-in-ios
ブログ投稿には、必要なすべてのコードが含まれています。コピー /貼り付け:)
それが役に立てば幸い!