44

NSString があり、NSJSONSerialization を使用したい場合は可能ですか? どうすればいいですか?

4

4 に答える 4

92

まず、次のようNSStringにしてをに変換する必要がありますNSData

NSData *data = [stringData dataUsingEncoding:NSUTF8StringEncoding];

次に、JSONObjectWithDataメソッドを使用してJSONに変換します

id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
于 2012-01-14T01:07:01.770 に答える
12

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
}
于 2012-01-14T00:07:04.163 に答える
1

次のように言って、文字列を NSData に変換できます。

NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];

その後、 で使用できますNSJSONSerialization。ただし、NSJSONSerializationこれは iOS5 のみであるため、TouchJSON や JSONKit などのライブラリを使用した方がよい場合があります。どちらも文字列を直接操作できるため、NSData に変換する手順を省くことができます。

于 2012-01-14T00:06:39.493 に答える
0

私は、ネイティブ iOS JSON クラスを使用する実装と共に、ネイティブ iOS JSON クラスを一般的なプロトコルでラップする方法を示すブログ投稿を書きました。

このアプローチにより、ネイティブ機能の使用が非常に簡単になり、記述する必要のあるコードの量が削減されます。さらに、ネイティブ実装が不十分であることが判明した場合、たとえば JSONKit を使用してネイティブ実装を簡単に切り替えることができます。

http://danielsaidi.com/blog/2012/07/04/json-in-ios

ブログ投稿には、必要なすべてのコードが含まれています。コピー/貼り付けするだけです:)

それが役に立てば幸い!

于 2012-07-04T21:21:29.543 に答える