2014-10-20 6 views
-1

안녕 얘들 아 아래 JSON 형식을 CLLocation으로 구문 분석하려고합니다.CLLocation 개체 변환 문자열에서 배열

{ 
     "id": 6, 
     "userId": 62, 
     "name": "town run", 
     **"locations": "(\n \"<+32.09230720,+74.17861462> +/- 5.00m (speed -1.00 mps/course -1.00) @ 10/14/14, 6:38:22 PM Pakistan Standard Time\",\n \"<+32.09231628,+74.17877018> +/- 5.00m (speed -1.00 mps/course -1.00) @ 10/14/14, 6:38:24 PM Pakistan Standard Time\",\n \"<+32.09231628,+74.17889893> +/- 5.00m (speed -1.00 mps/course -1.00) @ 10/14/14, 6:38:27 PM Pakistan Standard Time\",\n \"<+32.09231628,+74.17915642> +/- 5.00m (speed -1.00 mps/course -1.00) @ 10/14/14, 6:38:32 PM Pakistan Standard Time\",\n \"<+32.09232083,+74.17967141> +/- 5.00m (speed -1.00 mps/course -1.00) @ 10/14/14, 6:38:34 PM Pakistan Standard Time\"\n)"** 
} 

"locations"를 Array로 그리고 CLLocation으로 구문 분석하려고합니다. 이 문제를 해결하는 방법을 알려주십시오.

미리 감사드립니다.

+0

배열로의 위치 및 그 다음 cllocation? 그것은 당신이 원하는 것이 무엇인지 분명하지 않습니다. –

+0

이 문자열에서 lat, long, speed 및 timestamp를 얻고 싶습니다.이 문자열을 배열로 변환 한 다음 cllocation 객체로 변환하여 필요한 값을 얻는 경우에만 수행 할 수 있습니다. –

답변

1

처음부터이 JSON을 만들 수 있습니까? 그렇다면 최상의 솔루션은 JSON 작성 방법을 변경하는 것입니다. 여기에서 '위치'는 텍스트 (예 : 웹 사이트 또는 기타)로 표시되도록 설계된 문자열입니다. 당신이 당신이 아주 쉽게 CLLocations로 변환 할 수 있습니다 일단

당신은

"locations" : [ 
    { 
     "lat" : 32.09230720, 
     "long" : 74.17861462, 
     "accuracy" : 5.0, 
     "speed" : -1.0, 
     "course" : -1.0, 
     "date" : "10/14/14, 6:38:22 PM Pakistan Standard Time" 
    }, 
    { 
     "lat" : 32.09230720, 
     "long" : 74.17861462, 
     "accuracy" : 5.0, 
     "speed" : -1.0, 
     "course" : -1.0, 
     "date" : "10/14/14, 6:38:22 PM Pakistan Standard Time" 
    }, 
    { 
     "lat" : 32.09230720, 
     "long" : 74.17861462, 
     "accuracy" : 5.0, 
     "speed" : -1.0, 
     "course" : -1.0, 
     "date" : "10/14/14, 6:38:22 PM Pakistan Standard Time" 
    } 
] 

... 위치는이 같은 사전의 배열을 갖는 더 좋을 것이다.

기본적으로 문자열을 구문 분석하고 각 개별 부분을 찾아야합니다.

NSArray *locations = [locationsString componentsSeparatedByString:@", "]; 

당신이 좋아하는 뭔가를 할 수

... 그러나 새로운 라인과 물건 때문에이 꽤하지 않습니다 작동합니다.

+1

서버 응답에서 형식을 변경하고 문자열에서 사전 배열로 위치를 변경합니다. –

+0

@ user2699235 우수. 사전에서 쉽게 lat, long 등을 꺼내서 CLLocation 객체를 만드는 데 사용할 수 있습니다. – Fogmeister