2012-12-24 184 views
-6

所有你整數值......這可能是一個愚蠢的問題,但我是新來的iOS..I需要我們的幫助.. 我做的Json parsing..to得到一些價值。 。我JSON的反應是: -如何通過JSON解析

{ 
     "_id" = 6001256351188711607; 
     "access_level" = private; 
     createdOn = "2012-12-17T07:06:42.09000"; 
     "created_by" = 9514682679942790960941872227340; 
     description = ""; 
     keywords = ""; 
     location =   (
      "12.000023", 
      "77.000012" 
     ); 
     picture = "http://54120127762218290878972982207449539830674.jpg"; 
     "rel_interests" =   (
     ); 
     source = "Bank"; 
     "source_url" = ""; 
     title = ipl; 
    }, 

); 
     "location_description" = ""; 
     picture = "http://54252499650705298384658551818639.jpg"; 
     "rel_interests" =   (
     ); 
     source = ""; 
     "source_url" = ""; 
     title = "Air"; 
    } 

我使用此代碼獲得標題: -

[titleArray addObject:[[_arrData objectAtIndex:j]valueForKey:@"title"]]; 

但是當我做這個位置我得到拋出異常....我怎麼可以獲取位置? 請幫我實現這個...

+0

你的 「JSON」 響應其實不是JSON。是'title = Watch;位置=(「12.000000」,「77.000000」);'NSLogging一個NSDictionary的結果? – tom

+0

這個JSON應該是'location = {「12」,「77」}'。檢查json.org – Osiris

+0

另外,什麼是_arrData?什麼是例外?您需要提供異常堆棧跟蹤。 – tom

回答

0

您可以使用下面的代碼來獲得第一對象

[titleArray addObject:[[[[_arrData objectAtIndex:j]valueForKey:@"location"]objectAtIndex:0]intValue]]; 

爲編輯第二對象

[titleArray addObject:[[[[_arrData objectAtIndex:j]valueForKey:@"location"]objectAtIndex:1]intValue]]; 

你有一個字典中你有一個多個對象作爲數組..在該數組的第一個對象包含一個字典..在該字典中,只有你有位置數組。訪問它,你需要按照下面的代碼

NSArray *location = [[_arrData objectAtIndex:1] objectForKey:@"location"]; 
double X = [[location objectAtIndex:0] doubleValue]; 
double locY = [[location objectAtIndex:1] doubleValue]; 
+0

NT工作......我們怎麼能在兩個places..is添加objectatindex它possible..i唐不知道嗎? – Shivaay

+0

您的位置關鍵字包含數組,並且它有兩個對象。拿到第一個對象,我們可以使用objectAtIndex 0,並獲得第二個對象,我們可以使用objectAtIndex 1..main的事情是我們必須使用的intValue或的floatValue – thavasidurai

+0

TNX FR代碼,但它的顯示不兼容的類型轉換從int到ID ... – Shivaay

0
title = Watch; 
location =   (
      "12.000000", 
      "77.000000" 
     ); 

想這是yourDataDict dictionany。

[titleArray addObject:[yourDataDict valueForKey:@"title"]; 
float loc1 = [[[yourDataDict valueForKey:@"location"] objectAtIndex:0] floatValue]; 
float loc2 = [[[yourDataDict valueForKey:@"location"] objectAtIndex:1] floatValue]; 
+0

我不知道,但我不知道,但你給0在0和1的objectatindex但位置僅在逗號分隔的一個位置。 – Shivaay

+0

監視數據字典,[yourDataDict valueForKey:@「location」]給出數組,它有兩個nsstring類型元素。 –

+0

tnx fr代碼但它會拋出異常...對象不是零... y ??? – Shivaay

0
NSArray *loc = [[_arrData objectAtIndex:j] objectForKey:@"location"]; 
double locX = [[loc objectAtIndex:0] doubleValue]; 
double locY = [[loc objectAtIndex:1] doubleValue]; 
+0

我不知道,但我不知道,但你在0和1給予objectatindex ..但位置只在逗號分隔的一個位置.. – Shivaay

+0

你的JSON響應中的位置字段被表示爲一個列表,它成爲一個NSArray,有2個條目,解析後。 – tom

+0

它顯示警告nsarray可能不會響應objectforkey ... – Shivaay