尝试将nsdictionary转换为json,json里面有两个对象

问题描述 投票:-1回答:2

我尝试转换这个字典,但我收到一个错误。

NSException * name:@“NSInvalidArgumentException” - 原因:@“*** + [NSJSONSerialization dataWithJSONObject:options:error:]:JSON中的顶级类型无效写入”0x000060000044dda0

NSMutableDictionary *clientinfo = [[ NSMutableDictionary alloc] init];
            [clientinfo setObject:remittance.cliente.cliente_id forKey:ST_clientID];

            NSMutableDictionary *country = [[ NSMutableDictionary alloc] init];
            [country setObject:remittance.pais.paisID forKey:ST_countryID];

            NSMutableDictionary *remittancedata = [[ NSMutableDictionary alloc] init];
            [remittancedata setObject:remittance.nroIdentificacion forKey:ST_noidentification];
            [remittancedata setObject:clientinfo forKey:ST_client];
            [remittancedata setObject:country forKey:ST_country];

            NSError *err = nil;

            NSData * jsonData = [NSJSONSerialization dataWithJSONObject:remittance options:0 error:&err];
            NSString * jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
ios objective-c json nsdictionary
2个回答
0
投票

如果您的一个或多个值或键类型无法序列化,则会出现类似这样的问题。

Here是支持的类型。

如果您有不兼容的类型,您需要先自己转换它们(通常是字符串表示)。


0
投票

您正在序列化一个对象,该对象是您在JSON中不支持的自定义对象。您需要将NSDictionaryNSArray序列化为JSON。

NSData * jsonData = [NSJSONSerialization dataWithJSONObject: remittancedata options:0 error:&err];
NSString * jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
© www.soinside.com 2019 - 2024. All rights reserved.