NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
[request setHTTPMethod:@"GET"];
NSString *str =[NSString stringWithFormat:@""];
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:data];
NSError *error;
NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSDictionary *currencyDic = [NSJSONSerialization JSONObjectWithData:received options:NSJSONReadingMutableContainers error:&error];
我想保存json到currencyDic
,但有些数据无法在键上保存
杰森:
{
"data": [
{
"USD2JPY": 106.544998,
"USD2SGD_ts": 1465039761,
"USD2ITL_ts": 1434960300,
"USD2FRF": 5.7601,
"USD2GBP": 0.688942,
"USD2MOP_ts": 1464990701,
"USD2CHF": 0.975795,
"USD2AUD_ts": 1465039761,
"USD2EUR_ts": 1465039761,
"USD2EUR": 0.879817,
"USD2CNY_ts": 1465039761,
"USD2HKD_ts": 1465039761,
"USD2CAD_ts": 1465039761,
"USD2ITL": 1700.272217,
"USD2CHF_ts": 1465039761,
"USD2DEM": 1.71745,
"USD2DEM_ts": 1434958500,
"USD2GBP_ts": 1465039761,
"USD2JPY_ts": 1465039761,
"USD2HKD": 7.7678,
"USD2FRF_ts": 1434958260,
"USD2CNY": 6.56645,
"DATA_ts": 1465116640,
"USD2AUD": 1.357589,
"USD2MOP": 8.00155,
"USD2CAD": 1.2938,
"USD2SGD": 1.35655
}
],
"status": "ok"
}
我使用 Xcode 手表值
currencyDic __NSDictionaryM * 2 key/value pairs 0x00007fc7ac35c110
[0] (null) (no summary) : (no summary)
[1] (null) (no summary) : @"1 element"
key NSTaggedPointerString * 0xd Dx16Fx17x06 xa0
value __NSArrayM * @"1 element" 0x00007fc7ac35c0e0
[0] __NSDictionaryM * 27 key/value pairs 0x00007fc7ac35c0b0
[0] (null) (no summary) : (double)0.975795
key NSTaggedPointerString * 0x0 W5E$3x84dxa4
value __NSCFNumber * (double)0.975795 0x00007fc7ac330400
[1] (null) @"USD2JPY_ts" : (long)1465039761
[2] (null) @"USD2FRF_ts" : (long)1434958260
key __NSCFString * @"USD2FRF_ts" xf0xbf5xacxc7x7f
value __NSCFNumber * (long)1434958260 0xb0000005587b9b43
........
像"USD2JPY"这样的所有字符串都无法解析,只能"没有摘要",但"USD2SGD_ts"可以保存到NSDictionary中。 我尝试更改选项(NSJSONReadingMutableContainers
), NSJSONReadingMutableLeaves
, NSJSONReadingAllowFragments
)这是行不通的。
如何解决?谢谢
Xcode 使用-debugDescription
来打印对象。其中有一些优化,以防止打印输出太长。打印为"(无摘要)"的内容只是类NSTaggedPointerString
的字符串。但它们是有效的字符串。
您应该为此提交错误。