0

こんにちは、Google Maps API からこの結果を解析しようとしています。

{tooltipHtml:" (10.6 km / 15 mins)",polylines:[{id:"route0",points:"}psuIqmvu@xNnCnAHzBMvBo@??fCmA??MmDEqIHkGViHlHq`A??}DsAuAs@sAeAMAkZwY}OcP{OkOgCiCQ[cBuA??kIuE_S_KeEmDwA{B{EyIyDmHuFgL_CaIYuA?W[mCHc@??p@wANgA?oAIeAUeAKU_Aw@eAJo@z@[B{Ac@QDcVaGsAQyEM{DZaB\\wEbBU?mIrDoBb@yBRUJgKAsCe@mCoAiTkNyBqBkEkFi@a@sCqAgK_CqBMaKBoDGibAmNSOoCc@sIiAQFgD[yH[UIi@?sB\\yA@a@K??[fB??{TfIgBbAwFzD??XjBVX?X",levels:"B???BBBB???@BB???@?????BB??@???@????BB??@???@???????@?????@??@?????@?@??????????????BBBB??BB??B",numLevels:4,zoomFactor:16}]}

しかし、Restkit はエンコードされたポイントを受け入れず、このエラーが発生します

E restkit.network:RKResponse.m:289 Unable to parse response body: Unexpected token, wanted '{', '}', '[', ']', ',', ':', 'true', 'false', 'null', '"STRING"', 'NUMBER'.

結果を解析するための私のコードは次のようになります

- (void)request:(RKRequest*)request didLoadResponse:(RKResponse*)response {

NSError *error = nil;

NSDictionary *parsedResponse = [response parsedBody:&error];
4

1 に答える 1

2

その答えの形式はJSONではないと思います。JSON 形式では、キーは逆コンマ ("") に配置されます。

真の JSON の例を参照してください。

{"key1":5,"key2":"string_value"}

または、Google サービスの例からの真の JSON を参照してください。

{ "status": "OK", "results": [ { "types": street_address, "formatted_address": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "address_components": [ { "long_name": " 1600", "short_name": "1600", "types": street_number }, { "long_name": "Amphitheatre Pkwy", "short_name": "Amphitheatre Pkwy", "types": route }, { "long_name": " Mountain View", "short_name": "Mountain View", "types": [ "locality", "political" ] }, { "long_name": "California", "short_name": "CA", "types": [ "administrative_area_level_1", "political" ] }, { "long_name": "United States", "short_name": "US", "types": [ "country", "political" ] } , { "long_name": "94043", "short_name": "94043", "types": postal_code } ], "geometry": { "location": { "lat": 37.4219720, "lng": -122.0841430 }, "location_type": "ROOFTOP", "viewport": { "southwest": { "lat": 37.4188244, "lng": -122.0872906 }, "northeast": { "lat": 37.4251196, "lng": -122.0809954 } } } ] }

ソース: https://developers.google.com/maps/documentation/geocoding/?hl=ru#JSON

JSON をテストするには、通常http://json.parser.online.fr/を使用します(ただし、Google の回答例では、「type」という名前の不明なキーが原因で正しく機能しません)。

于 2012-11-14T15:27:09.123 に答える