2012-03-20 9 views
0

を持っている可能性の重複:
Json Passing in iphoneJSONを解析します。私は、サーバーの応答に

私はJSON解析に新しいです。私はどのように私は0のインデックスの "デバイス名とID"をフェッチすることができるサーバーの応答があります。事前に

おかげ

{ 

    Successfully = 

    (

       { 

      0 =    { 

       DeviceName = Tommy; 

       DeviceTypeId = 1; 

       EMEI = xxxxxx; 

       GId = xxxxx; 

       Id = 105; 

       Pet = "<null>"; 

       PetImage = "352022008228784.jpg"; 

       ProtocolId = xxxx; 

       SimNo = xxxxx; 
      }; 

     } 
    ); 
} 
+0

私たちは何を見ていますか?これは単純な文字列かデータが受信されたか、これはすでに解析済みですか? –

+0

これはNSLog – Alladinian

答えて

1
NSDictionary *myJsonResponse; // Let's assume that this is the response you provided 

NSString *deviceName = [[[myJsonResponse valueForKey:@"Successfully"] objectAtIndex:0] valueForKeyPath:@"0.DeviceName"]; 

id theId = [[[myJsonResponse valueForKey:@"Successfully"] objectAtIndex:0] valueForKeyPath:@"0.Id"]; // I am using "id" type here since I don't know if this is an NSString or an NSNumber 
+0

ありがとうございました。私は "成功"を忘れています。もう一度ありがとう – UserSOF

+0

私は複数のインデックスを持っていますが、私が使用すると.... NSDictionary * menu = [parsedJSON objectForKey:@ "Successfully"]; NSLog(@ "カウントの値は%d"、[メニュー数]); .....それは1を出力します。しかし、私は出力を求めています2.サーバーに応じて応答 – UserSOF

+0

これは正常です。 「成功裏に」配列内には、複数のキー/値を持つ1つのオブジェクト(辞書)しかありません。これを試してください: 'NSDictionary * menu = [[parsedJSON objectForKey:@" Successfully "] objectAtIndex:0];'そしてメニューオブジェクトを数えます。 – Alladinian

0

NSDictionaryのおよびメソッドvalueForKeyを使用してください。

+0

からのものです。出力はnullです...... NSDictionary * menu = [parsedJSON objectForKey:@ "0"]; NSLog(@「PARSED JASONの0番目のインデックス%@」、[parsedJSON objectForKey:@ "0"]); NSLog(@ "VALUE OF MENU IS%@"、メニュー); – UserSOF

+0

@ GauravBOSSあなたは辞書のキーでもある "成功"配列を忘れています。下の私の答えを見てください。 – Alladinian

0

これは完全なJSON応答であると仮定すると、あなたは

JSONが、これが中に保存されているオブジェクトの名前です
NSMutableDictionary *dictionary = [JSON objectForKey:@"0"]; 

ようになっているはずその0インデックスから辞書を作成することをお勧めします。そして、あなたはこのの

NSString *deviceName = [dictionary objectForKey:@"DeviceName"]; 

なしテストされなかったし、ちょうどので、塩の粒とそれを取るメモリから行われていたすなわちたいことだけでキーのオブジェクトを取得することにより、内すべてにアクセスすることができるはずです。

0

This linkあなたの回答に役立つかもしれません。

関連する問題