2011-12-16 45 views
0

我有一個數組填充了json。如何從json數組中提取鍵值並將其傳遞給變量以分配給標籤?

rows4 = [dict objectForKey:@"users"]; 

我有以下行解析從它的關鍵值。

NSString *hotelname = (NSString *) [rows4 valueForKey:@"H_NAME"]; 

我然後分配在以下行認爲價值標籤:

LabelName.Text= hotelname; 

一切似乎罰款高達這裏。我寫的日誌,NSLog的如下:

NSLog(@"HotelName : %@",hotelname); 

這出現在日誌:

[11437:F803] HotelName:( 「等等等等飯店」 )

然後模擬器

NSArrayI isEqualToString::]:無法識別的選擇發送到實例與日誌以下錯誤崩潰

我的理解是我分配給標籤的變量實際上不是一個變量,而是一個數組。我對嗎?如果是這樣,我怎樣才能從一個關鍵字的幫助下從我的變量中提取一個單一的值,並將其賦值給一個變量,然後我就可以將它分配給一個標籤?

我使用的是touchJSON btw。

回答

1

一種選擇是:

if(hotelname.count > 0)  
    LabelName.Text= [hotelname objectAtIndex:0]; 
+0

Maveriick1st非常感謝。 – 2011-12-16 17:20:22

+0

我打算寫更多,但輸入提交的評論,而不是下移:)我沒有使用if語句。但LabelName.Text = [hotelname objectAtIndex:0];訣竅。 – 2011-12-16 17:21:20

0

退房this question。 JSON不是一個數組,它是一個字典。

- (void)viewDidLoad { 
     //below is a function from [this tutorial][2] 
    [super viewDidLoad]; 
    NSString *jsonString = [NSString stringWithString:@"{\"foo\": \"bar\"}"]; 
    NSDictionary *dictionary = [jsonString JSONValue]; 
    NSLog(@"Dictionary value for \"foo\" is \"%@\"", [dictionary objectForKey:@"foo"]); 

     //This is your code, just changed some stuff... 

     NSString *hotelname = (NSString *) [jsonString valueForKey:@"?"]; 
     LabelName.Text= hotelname; 
} 

希望這會有所幫助,歡呼聲。

相關問題