2013-05-09 111 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"]; 

这一定会帮助你。

如果它可以帮助你,请标记它。

相关问题