gpt4 book ai didi

ios - 从 NSMutableDictionary 生成 JSON

转载 作者:行者123 更新时间:2023-11-28 22:36:27 25 4
gpt4 key购买 nike

我是 Objective-C 和 iOS 开发的新手,我正在尝试编写一种生成 JSON 字符串的方法,但是当我使用 NSLog 时,我得到了一堆十六进制代码(我猜它们是指针地址)有人可以看看这个方法并告诉我我做错了什么..

   -(NSData *)generateInputJSON
{

NSError* error = nil;

NSString* region = [[NSLocale currentLocale]localeIdentifier];

NSString* language = [[NSLocale preferredLanguages]objectAtIndex:0];

NSMutableDictionary* properties = [NSMutableDictionary dictionaryWithObjectsAndKeys:
_sphereODNumber,@"sphereOD",
_sphereOSNumber,@"sphereOS",
_cylinderODNumber,@"cylinderOD",
_cylinderOSNumber,@"cylinderOS",
_visionCorrection,@"visionCorrection",
region,@"region",
language,@"language",
nil];

if([_visionCorrection isEqualToString:@"multiFocal"] ||
[_visionCorrection isEqualToString: @"progressive"])
{
[properties setValue:_addODNumber forKey:@"addOD"];
[properties setValue:_addOSNumber forKey:@"addOS"];
}


if([_visionCorrection isEqualToString: @"progressive"])
{
[properties setValue:_fittingHeightNumber forKeyPath:@"fittingHeight"];
}

NSData* inputJSON = [NSJSONSerialization dataWithJSONObject:properties options:NSJSONWritingPrettyPrinted error:&error];

return inputJSON;
}

我的日志返回:

<7b0a2020 226c616e 67756167 6522203a 2022656e 222c0a20 20227669 73696f6e 436f7272 65637469 6f6e2220 3a202270 726f6772 65 737369 7665222c 0a202022 6164644f 4422203a 20342e35 2c0a2020 22616464 4f532220 3a20342e 352c0a20 20227370 68657265 4f532220 3a20342e 352c0a20 20227265 67696f6e 22203a20 22656e5f 5553222c 0a202022 63796c69 6e646572 4f532220 3a20342e 352c0a20 20226 669 7474696e 67486569 67687422 203a2031 372c0a20 20227370 68657265 4f442220 3a20342e 352c0a20 20226379 6c696e64 65724f44 22203a20 342e350a 7d>

最佳答案

您看到的是 NSData 对象的描述,它只是十六进制数据中的字节。如果您(比如说)将该数据写入一个文件并使用文本编辑器打开该文件,您实际上会看到您想要的字符串。因为你想从你的函数返回一个字符串,你可以将 NSData 转换成一个字符串,如下所示:

return [[NSString alloc] initWithData:inputJSON encoding:NSUTF8StringEncoding];

如果您使用的是非 ARC 代码,请记住自动释放。如果您要返回一个字符串,您还应该将方法的返回类型从 NSData* 更改为 NSString*

关于ios - 从 NSMutableDictionary 生成 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15838458/

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