gpt4 book ai didi

ios - 将 NSString 转换为 NSDictionary

转载 作者:行者123 更新时间:2023-11-29 00:03:11 25 4
gpt4 key购买 nike

我正在使用 JSON POST 方法,我的代码是

[_urlReq setValue:@"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[_urlReq setHTTPMethod:@"POST"];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long) [postData length]];
[_urlReq setValue:postLength forHTTPHeaderField:@"Content-Length"];
[_urlReq setHTTPBody:postData];
_dataTask = [_urlSession dataTaskWithRequest:_urlReq completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

if (!(data == nil)) {

我正在将响应数据转换为字符串格式

NSString* myString = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];// NSUTF8StringEncoding
NSLog(@"myString :%@", myString);

OutPut:

myString :{"Response":{"status":"SUCCESS","error_code":"0","message":"message","Array":[{"name" => "VVV","name" => "CHE","ac" => "5a8805a","email" =>"vvv","line1" =>"","line2" =>"","no" =>"","street" =>"","pin_code" =>"","state_id" =>"0","district_name" =>"0"}]}}

//Convert string into Dic
NSData *data1 = [myString dataUsingEncoding: NSUTF8StringEncoding];
id json = [NSJSONSerialization JSONObjectWithData:data1 options:0 error:nil];
NSLog(@"json : %@", json);
NSLog(@"Response : %@",[json objectForKey:@"Response"]);

//Second approach to convert string to dic
NSError *err = nil;
NSArray *array = [NSJSONSerialization JSONObjectWithData:[myString dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:&err];
NSLog(@"array :%@", array);
NSDictionary *dictionary = [array objectAtIndex:0];
NSLog(@"dictionary : %@", dictionary);
NSString *test = [dictionary objectForKey:@"Response"];
NSLog(@"Test is %@",test);

}

我不知道这里出了什么问题......

enter image description here

最佳答案

您的 JSON 格式是以字典开头的。

而不是,

NSArray *array = [NSJSONSerialization JSONObjectWithData:[myString dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:&err];
NSLog(@"array :%@", array);

替换它并尝试

NSDictionary *jSonDict = [NSJSONSerialization JSONObjectWithData:[myString dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:&err]; 

第二次尝试:

NSDictionary *jSonDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&err];

有关如何验证 JSON 的更多信息,请使用此链接 enter link description here

您的 JSON:

enter image description here

关于ios - 将 NSString 转换为 NSDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48860292/

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