2011-12-27 11 views
0

どのようにして各 "car" JSONオブジェクトを抽出し、それをネイティブオブジェクトに入れますか?私はいくつかの方法を試みたが、私はそれをすることはできない。Jsonリクエストをネイティブオブジェクトまたはリストに変換する方法は?

NSString *responseString = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]; 

     NSString *responseDict = [responseString JSONValue]; 

     NSArray *objects = [NSArray arrayWithObjects:[responseDict valueForKeyPath:@"result.Name"],[responseDict valueForKeyPath:@"result.Statu"],nil]; 
     NSLog(@"objects Array: %@",objects); 



    **==> NSLOG gives: 
         (
         (
         "John", 
         "Alex", 
         "Diaz" 
         ), 
         (
         "Online", 
         "Online", 
         "Offline" 
         ) 
        ) 



    NSArray *resultsArray = [responseString JSONValue]; 

    for (NSDictionary *personDict in resultsArray) 
     { 

     NSLog(@"ihaleAdi =: %@",[carDict valueForKey:@"result.ihaleAdi"]); 

     NSLog(@"ihaleDurum =: %@",[carDict valueForKey:@"result.Statu"]); 

     } 

しかし、私はちょうどそれらをリストが、カントはthatçをしたらいいたいtooçエラーをそれ与え誰が私を助けてくださいことができますか?

NSString *responseString = [request responseString]; 
NSArray *array = [responseString JSONValue]; 

その後、あなたはその配列から個々の項目を必要なときに辞書を使用します:

答えて

1

responseStringをキャプチャするために配列を使用をお読みいただき、ありがとうございましJSON responseString考える

// 0 is the index of the array you need 
NSDictionary *itemDictionary = (NSDictionary *)[array objectAtIndex:0]; 

ルックスこと{UniqueID ":111111、" DeviceName ":" Device1Loc "、" Device1Loc "、" Description ":" Device1Desc "}、{" UniqueID ":22222、" DeviceName "}このように:

[ :"装置名2" 、 "場所": "Device2Loc"、 "説明": "Device2Desc"}]

あなたはこのようになりますArrayで羽目になるだろう。

myArray = (
     { 
     Description = "Device1Desc"; 
     DeviceName = "DeviceName1"; 
     Location = "Device1Loc"; 
     UniqueID = 111111; 
    }, 
     { 
     Description = "Device2Desc"; 
     DeviceName = "DeviceName2"; 
     Location = "Device2Loc"; 
     UniqueID = 222222; 
    } 
) 

、インデックス0の辞書

myDictionary = { 
    Description = "Device1Desc"; 
    DeviceName = "DeviceName1"; 
    Location = "Device1Loc"; 
    UniqueID = 111111; 
} 

混乱し、不適切にインスタンス化されたオブジェクトが早すぎると申し訳ありません。私はまだ何かを学んだ相対的初心者です。

+0

先頭行(NSString * responseString = [request responseString];)は、ASIHttpRequestデリゲートメソッドを使用していることを前提としています。要求オブジェクトを他の方法でインスタンス化する場合は、その行を無視します。 –

+0

2行目は、JSONValueで上書きされる配列を作成します。あなたはそれを漏らした。 – Abizern

+0

次のようなエラーが表示されます。[__NSCFDictionary objectAtIndex:]:インスタンスに送信された認識できないセレクタ0x6b43300 – user1117361

関連する問題