2013-05-09 113 views
1

如何讀取並存儲JSON字符串在控制檯中的一個變量中...實際上,當我調用index.html文件中的一個javascript函數時的appdelegate我得到以下JSON結構響應,獲取控制檯中的JSON字符串並將其存儲在變量中

[ 
    "registerDevice", 
    { 
     "type":"7", 
     "pushBadge":"1", 
     "pushSound":"1", 
     "enabled":"1", 
     "dev‌ iceToken":"e03d25f4f1bd40678cd693fe66fe7946ffdb03e1b23cfc5f9dc747fd5869fbcd", 
     "pus‌ hAlert":"1" 
    } 
] 

我需要設備令牌值獨自一個變量來存儲....我怎麼能做到這一點?在此先感謝

回答

0

平時最瀏覽器支持Json.parse()功能。 所以,你可以使用

var json = '{"result":true,"count":1}', 
    abc = JSON.parse(json); 

alert(abc.count); 

您可以通過ABC訪問您的JSON響應值。 希望我已經給出了答案。

0

使用NSJSONSerialization你可以解析json響應。

嘗試這種方式,

NSString *str = @"[\"registerDevice\",{\"dev‌ iceToken\":\"e03d25f4f1bd40678cd693fe66fe7946ffdb03e1b23cfc5f9dc747fd5869fbcd\",\"pus‌ hAlert\":\"1\"}]"; 
NSError *jsonError = nil; 
id allValues = [NSJSONSerialization JSONObjectWithData:[str dataUsingEncoding:NSUTF8StringEncoding] 
                options:0 
                error:&jsonError]; 
NSString *deviceToken = [allValues[1] objectForKey:@"dev‌ iceToken"]; 
NSLog(@"deviceToken: %@",deviceToken); 

注:而不是 '海峽' 代替你 'JSON響應'。

+0

但在JSON響應中,我們沒有任何分隔符,我們如何插入它,沒有分隔符,它不會正常工作? – user2215225 2013-05-10 06:57:32

+0

你在說哪些分隔符?順便說一句,在分析它之前你必須有有效的json。 – 2013-05-10 07:00:35

+0

反斜槓...我們沒有那在JSON響應知道 – user2215225 2013-05-10 07:04:02

1
[ 
"registerDevice", 
{ 
    "type": "7", 
    "pushBadge": "1", 
    "pushSound": "1", 
    "enabled": "1", 
    "dev‌iceToken": "e03d25f4f1bd40678cd693fe66fe7946ffdb03e1b23cfc5f9dc747fd5869fbcd", 
    "pus‌ hAlert": "1" 
} 

]

試試這個代碼:

NSArray *jsonArr = [responseStr JSONValue]; //your JSON response 

NSDictionary *dicObj = (NSDictionary*)[jsonArr objectAtIndex:1]; 

NSString *deviceToken = [dicObj objectForKey:@"dev‌iceToken"]; 

這一定會幫助你。

如果它可以幫助你,請標記它。

相關問題