gpt4 book ai didi

ios - 在 Objective-C 中解析 JSON 中的 JSON

转载 作者:行者123 更新时间:2023-11-30 13:25:12 27 4
gpt4 key购买 nike

我正在尝试存储从以下请求获得的 JSON 中的 JSON...

NSURL *URL = [NSURL URLWithString:@"http://www.demo.com/server/rest/login?username=admin&password=123"];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request
completionHandler:
^(NSData *data, NSURLResponse *response, NSError *error) {

if (error) {
// Handle error...
return;
}

if ([response isKindOfClass:[NSHTTPURLResponse class]]) {
NSLog(@"Response HTTP Status code: %ld\n", (long)[(NSHTTPURLResponse *)response statusCode]);
NSLog(@"Response HTTP Headers:\n%@\n", [(NSHTTPURLResponse *)response allHeaderFields]);
}

NSString* body = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Response Body:\n%@\n", body);
}];
[task resume];

body获取的结果JSON如下,正如您所看到的,JSON中有一个JSON,我如何将 JSON存储在中NSDictionary 正如您所看到的,JSON 位于引号之间。

    [
{
tag: "login",
status: true,
data:
"
{
"userID":1,
"name":"John",
"lastName":"Titor",
"username":"jtitor01",
"userEmail":"jtitor01@gmail.com",
"age":28,
}
"
}
]

最佳答案

你现实中拥有的:经典 JSON,其中有一个字符串“代表”JSON。

所以,既然我们可以这样做:
NSData <=> NSString
NSArray/NSDictionary <=> JSON NSData
我们只需根据我们拥有的数据类型在它们之间进行切换即可。

NSArray *topLevelJSON = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; 
NSString *lowLevelString = [[topLevelJSON firstObject] objectForKey:@"data"];
NSData *lowLevelData = [lowLevelString dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *final = [NSJSONSerialization JSONObjectWithData:lowLevelData options:0 error:nil];

关于ios - 在 Objective-C 中解析 JSON 中的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37296637/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com