handle arrays inside maps

This commit is contained in:
Riccardo Mottola 2021-06-25 17:48:52 +02:00
parent 5aed0a18c2
commit 244e03d542

View file

@ -200,12 +200,20 @@
[stringScanner scanUpToString: @"=" intoString: &key];
[stringScanner scanString: @"=" intoString: NULL];
[stringScanner scanString: @"\"" intoString: NULL];
[stringScanner scanUpToString: @"\"" intoString: &value];
[stringScanner scanString: @"\"" intoString: NULL];
[stringScanner scanString: @"," intoString: NULL];
// we fail to parse if the value is in []
if ([stringInput characterAtIndex:[stringScanner scanLocation]] == '[')
{
[stringScanner scanString: @"[" intoString: NULL];
[stringScanner scanUpToString: @"]" intoString: &value];
[stringScanner scanString: @"]" intoString: NULL];
value = [self parseArray: value];
}
else
{
[stringScanner scanString: @"\"" intoString: NULL];
[stringScanner scanUpToString: @"\"" intoString: &value];
[stringScanner scanString: @"\"" intoString: NULL];
[stringScanner scanString: @"," intoString: NULL];
}
// NSLog(@"parse KVS: key %@ value %@", key, value);
if (key != nil && value != nil)
[mdict setObject:value forKey:key];