1

如何读取JSON字符串并将其存储在控制台中的一个变量中...实际上,当我从 appdelegate 调用 index.html 文件中的一个 javascript 函数时,我得到以下JSON结构响应,

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

我只需要那个设备令牌值来存储在一个变量中....我该怎么做...提前谢谢

4

3 回答 3

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"];

这肯定会对你有所帮助。

如果对你有帮助,请标记。

于 2013-05-09T12:04:46.237 回答
0

通常大多数浏览器支持Json.parse()功能。所以,你可以使用

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

alert(abc.count);

您可以使用 abc 访问您的 json 响应值。希望我已经给出了你的答案。

于 2013-05-09T12:02:51.023 回答
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 response' 代替 'str'。

于 2013-05-09T12:03:13.290 回答