要麽在後端處理,定義為string類型。要麽在前端處理,將float、double轉化為string!!
註意:在序列化前調用此方法!!
+ (NSString *)doubleConvertString:(NSString *)source
{
NSString *targetStr = [NSString stringWithFormat:@"%@",source];
if (source.length == 0)
{
return targetStr;
}
NSUInteger index = 0;
NSString *p = [targetStr substringToIndex:1];
NSString *rStr = p;
NSString *lChar = p;
NSString *llid = nil;
BOOL inserted = false;
NSArray *tarry = @[@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9"];
while (index < targetStr.length-1)
{
index++;
NSString *currChar = [targetStr substringWithRange:NSMakeRange(index, 1)];
BOOL cf = [tarry containsObject:currChar];
if ([lChar isEqualToString: @":"] && cf && [llid isEqualToString:@"\""])
{
inserted = true;
rStr = [rStr stringByAppendingString:@"\""];
llid = @"";
}
else if (inserted && ([currChar isEqualToString: @"}"] || [currChar isEqualToString: @","]))
{
inserted = false;
rStr = [rStr stringByAppendingString:@"\""];
}
rStr = [rStr stringByAppendingString:currChar];
if (currChar.length > 0 && ![currChar isEqualToString:@" "])
{
if ([currChar isEqualToString:@"\""])
{
llid = currChar;
}
else if (![currChar isEqualToString:@":"])
{
llid = @"";
}
lChar = currChar;
}
}
return rStr;
}