1

私のjsonファイルは次のようになります

[{"id":"1","category":"New Category1","title":"New Product2","description":"Please type a description1","imgurl":"http:\/\/s.wordpress.org\/about\/images\/wordpress-logo-notext-bg.png","spectitle":"Specification","specvalue":"Value"},{"id":"2","category":"Mobile","title":"Samsung","description":"Please type a description","imgurl":"http:\/\/s.wordpress.org\/about\/images\/wordpress-logo-notext-bg.png","spectitle":"Price","specvalue":"100$"}]

そして、ID、カテゴリ、タイトル、説明を個々のラベルに印刷する必要がある4つのラベルがあります。jsonオブジェクト全体を正常に解析し、単一のラベルに印刷しました。対応するカテゴリを持つすべてのjsonオブジェクトを対応するラベルに表示する必要があります。

NSString *labelstring =[NSString stringWithFormat:@"%@",[json objectAtIndex:0]];
label1.text=[NSString stringwithformat: objectForKey:@"id"]; 
 label2.text=[NSString stringwithformat:objectForKey:@"category"];
 label3.text=[NSString stringwithformat:objectForKey:@"title"];  
 label4.text=[NSString stringwithformat:objectForKey:@"description"]; 

ここでjsonはNSArrayの変数で、URL情報などがあります...しかし、個々の値を取得しようとすると取得できません..ガイダンスをお願いします...

4

3 に答える 3

4

実際のコードを表示していますか? [NSString stringwithformat:objectForKey:@"id"];は無効な構文です。エラーは出ませんか?

正しいコード:

// ??? NSString *labelstring = [NSString stringWithFormat:@"%@",[json objectAtIndex:0]];
NSDictionary *dict = [json objectAtIndex:0];
label1.text = [dict valueForKey:@"id"]; 
label2.text = [dict valueForKey:@"category"];
label3.text = [dict valueForKey:@"title"];  
label4.text = [dict valueForKey:@"description"];

編集: JSON を正しい方法で解析するかどうかはわかりません。

NSData *jsonData = ...
NSArray *json = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:nil];
于 2012-07-20T12:35:39.033 に答える
2

jsonをそのように使用したい場合は、それをにデコードする必要がありNSDictionary、後半でしようとしている方法で使用できます。

label1.text = [NSString stringwithFormat:@"%@", [json objectForKey:@"id"]];

"id"または、json のタグの下にあるテキストが必要な場合は、次のようにします。

label1.text = [json objectForKey:@"id"];
于 2012-07-20T12:35:48.560 に答える