2013-07-24 9 views
5

NSStringをNSArrayに変換する際に問題が発生しています。JSON StringをNSArrayに変換するには?

私の文字列は次のとおりです。

["Default", "Discipleship", "Faith", "Family", "Hope", 
"Life Building", "Love", "Missions", "Relationships"] 

私は何をしたいのか、この文字列から要素(デフォルトなど弟子)を取得したNSArrayに入れてあります。

私は多くのことを試してみましたが、それを成し遂げることができなかった、すべてのヘルプは素晴らしいことだ を助けてください事前

で感謝
+0

をjsonkitと輸入josnkit.hを追加することの必要性のためにだからあなたはそれがJSONであることを知っていますが、マニュアルにNSJSONSerializationを見つけられませんでしたか? –

答えて

19

まずあなたがたNSDataにあなたの文字列を変換:

NSString* str = @"[\"Default\",\"Discipleship\",\"Faith\",\"Family\",\"Hope\",\"Life Building\",\"Love\",\"Missions\",\"Relationships\"]"; 
NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding]; 

はその後、あなたが使用します。

NSError *e; 
NSArray *array = [NSJSONSerialization JSONObjectWithData:data options:nil error:&e]; 

オブジェクト配列は、JSONテキストの要素が含まれています。

+1

これはおそらく答えを修正することです。 (しかし、最初の行で引用符をエスケープしなければなりません。そうでなければコンパイルされません) –

+0

ありがとうございました...ハレイ... :) – Aashish1aug

+1

@MartinRそうです。私はちょうど質問の文字列をコピーして貼り付けました。私は正しいように編集します。 –

0

このようにしてみてください。最初に不要なチャレクタをトリムし、そのコンバージョン文字列を配列にトリムします。

NSString * strippedNumber = [yourString stringByReplacingOccurrencesOfString:@"[\"]" withString:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, [val length])]; 
NSArray *array = [strippedNumber componentsSeparatedByString:@","]; 
+0

おかげで返信のためにたくさんのsathvikを、しかし、再び、私は配列として不適切な何かを得た:私が得た配列は次のとおりです。配列は以下のとおりです。:( 「[デフォルト」、 弟子、 信仰、 家族、 希望、 「生命ビル"、 愛、 ミッション、 "関係 "" ) – Aashish1aug

0

はこれを試してみて、あなたのクラスで

NSString *responseString = [request responseString] 
JKParseOptionFlags options = JKParseOptionComments | JKParseOptionUnicodeNewlines; 
NSArray *responsArray=[responseString objectFromJSONStringWithParseOptions:options error:nil]; 
関連する問題