SBJsonParserを使用しているときにJSONを解析する際に、私は現在奇妙な問題が発生しています。JSONの解析 - SBJsonParserの問題
私が解析しているJSONは次のとおりです。
[
{
"Company":{
"id":"1",
"company_name":null
},
"relations":{
"store":[
{
"id":"1",
"restaurant_name":"Dubai",
"brief_description":null
},
{
"id":"2",
"restaurant_name":"Test2",
"brief_description":null
}
]
}
}
]
私は簡単にNSDictionaryのを作成し、会社ノード(?)のための正しい情報とそれを埋めることができます。
しかし、関係とのノードになると、私の問題が発生します。
NSDictionary *relations = [object valueForKey:@"relations"];
NSArray *multipleStores = [relations valueForKey:@"store"];
NSLog(@"relations: %@", relations);
for (NSDictionary *singleStore in multipleStores){
NSLog(@"Single Store: %@", singleStore);
[company grabStoreInformation:singleStore];
}
上記のNSLogが返されたのは以下のとおりです。
relations: (
{
store = (
{
"brief_description" = "<null>";
id = 1;
"restaurant_name" = Dubai;
},
{
"brief_description" = "<null>";
id = 2;
"restaurant_name" = Test2;
}
);
}
)
NSLogで何が起きていないのであれば、これで問題ありません。 singleStoreは実際に個々のストアノードを取得するのではなく、両方のストアノードを一緒に追加しているようです。
Single Store: (
{
"brief_description" = "<null>";
id = 1;
"restaurant_name" = Dubai;
},
{
"brief_description" = "<null>";
id = 2;
"restaurant_name" = Test2;
}
)
問題は、各ストアノードをNSMutableArrayに追加する必要があることです。したがって、NSDictionaryはNSMutableArrayに追加され、他の場所(UITableViewデータソース用)からアクセス可能になります。
店舗ノードを別々にするとどんな助けになるか大いに感謝します。解析のために全体のコード、を求めたよう
EDIT :
SBJsonParser *parser = [[SBJsonParser alloc] init];
// parse the JSON string into an object - assuming [response asString] is a NSString of JSON data
NSDictionary *object = [parser objectWithString:[response asString] error:nil];
[parser release];
NSDictionary *companyDetails = [object valueForKey:@"Company"];
MACompany *company = [MACompany sharedMACompany];
[company initWithDetails:companyDetails];
NSDictionary *relations = [object valueForKey:@"relations"];
NSArray *multipleStores = [relations valueForKey:@"store"];
NSLog(@"relations: %@", relations);
for (NSDictionary *singleStore in multipleStores){
NSLog(@"Single Store: %@", singleStore);
[company grabStoreInformation:singleStore];
}
あなたは、私はJSONの要素をコピーするシングルトンクラスに依存している見ることができるように。これは、単なる店舗辞書の分割方法を検討するときに達成しようとしていることと関連していると私は考えていません。
トピックはありませんが、OS5をターゲットにしている場合は、組み込みのJSONパーサー – Devraj
を使用できます.iOS4もサポートしています。私の意見では、両方のiOSに同じプロセスを使用することもできます。 –
@SebastienPeek fair enough :) – Devraj