Objective c 在控制台中获取JSON字符串并将其存储在变量中

Objective c 在控制台中获取JSON字符串并将其存储在变量中,objective-c,xcode,Objective C,Xcode,如何在控制台中的一个变量中读取和存储JSON字符串…实际上,当我从appdelegate调用index.html文件中的一个javascript函数时,我得到以下JSON结构响应 [ "registerDevice", { "type":"7", "pushBadge":"1", "pushSound":"1", "enabled":"1", "dev‌ iceToken":"e03d25f4f1bd40678cd693fe

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

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

我需要将设备令牌值单独存储在一个变量中…我如何做到这一点…提前感谢大多数浏览器支持
Json.parse()
函数。 所以,你可以使用

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

alert(abc.count);
您可以使用abc访问json响应值。
希望我已经给出了您的答案。

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

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

alert(abc.count);
您可以使用abc访问json响应值。
希望我已经给出了您的答案。

使用
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);

注意:代替“str”替换为“json响应”。

使用
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响应”替换为“str”

]

请尝试以下代码:

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

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

NSString *deviceToken = [dicObj objectForKey:@"dev‌iceToken"];
这肯定会对你有帮助

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

]

请尝试以下代码:

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

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

NSString *deviceToken = [dicObj objectForKey:@"dev‌iceToken"];
这肯定会对你有帮助


如果它对您有帮助,请标记它。

但是在JSON响应中,我们没有任何分隔符,我们如何插入它,没有分隔符它将无法正常工作?您在谈论哪些分隔符?顺便说一句,在解析之前,您必须拥有有效的json。反斜杠…我们在json响应中不知道这一点。您可以告诉我如何直接从控制台读取并存储在一个变量中,而无需硬编码。您如何在控制台中打印json响应?使用NSLog对吗?意思是你有json字符串对吗?但是在json响应中我们没有任何分隔符,我们如何插入它,没有分隔符它就不能正常工作?你说的是哪个分隔符?顺便说一句,在解析之前,您必须拥有有效的json。反斜杠…我们在json响应中不知道这一点。您可以告诉我如何直接从控制台读取并存储在一个变量中,而无需硬编码。您如何在控制台中打印json响应?使用NSLog对吗?意思是你有json字符串,对吗?