我一直在规划路线作为iOS谷歌地图的自定义。
如何在LINESTRING中解析传入的JSON?
我的LINESTRING:
"coordInfo": "LINESTRING (28.646751729297 40.9993029074749, 28.6470087874434 40.9995465119554, 28.6470087874434 40.9995465119554, 28.6474633603416 41.0000088561426)"
},
答案 0 :(得分:1)
从您发布的内容来看,objectForKey @“coordInfo”会为您提供一个包含括号中数字的字符串。您可以使用NSString方法componentsSeparatedByCharactersInSet来解析它:传递包含左右括号,逗号和空格的集合,以生成单个数字字符串的数组(以及单词“LINESTRING”作为数组中的第一个字符串) 。该数组还将包含一些空字符串,其中2个分隔符字符在一起(如逗号和空格),因此在将对象从数组中取出时,您必须对其进行测试。
你也可以像这样使用NSScanner:
NSString *toParse = @"LINESTRING (28.646751729297 40.9993029074749, 28.6470087874434 40.9995465119554, 28.6470087874434 40.9995465119554, 28.6474633603416 41.0000088561426)";
NSScanner *scanner = [NSScanner scannerWithString:toParse];
double num;
while (! [scanner isAtEnd]) {
[scanner scanUpToCharactersFromSet:[NSCharacterSet decimalDigitCharacterSet] intoString:nil];
[scanner scanDouble:&num];
// put numbers into an array here or use them somehow
NSLog(@"%f",num);
}