当我收到来自 google maps API 的请求时,我使用此方法获取 json:
NSDictionary *jsonArray = [NSJSONSerialization JSONObjectWithData:dataRequest options: NSJSONReadingAllowFragments error: nil];
jsons 看起来像这样:
{
routes = (
{
bounds = {
northeast = {
lat = "50.90961";
lng = "20.6492";
};
southwest = {
lat = "50.05775000000001";
lng = "19.94544";
};
};
copyrights = "Dane do Mapy \U00a92012 Google";
legs = (
{
distance = {
text = "126 km";
value = 126118;
};
duration = {
text = "2 godz. 0 min";
value = 7229;
};
"end_address" = "Aleja Powstania Warszawskiego 15, 30-001 Krak\U00f3w, Polska";
"end_location" = {
lat = "50.06";
lng = "19.9589";
};
"start_address" = "Mas\U0142owska 2, 25-001 Kielce, Polska";
"start_location" = {
lat = "50.88884";
lng = "20.6492";
};
steps = (
{
distance = {
text = "0,1 km";
value = 109;
};
duration = {
text = "1 min";
value = 39;
};
"end_location" = {
lat = "50.88824";
lng = "20.64796";
};
"html_instructions" = "Kieruj si\U0119 <b>Mas\U0142owska</b> na <b>po\U0142udniowy zach\U00f3d</b> w stron\U0119 <b>Szyd\U0142\U00f3wek G\U00f3rny</b>";
polyline = {
points = "gfruHo``}BvBvF";
};
"start_location" = {
lat = "50.88884";
lng = "20.6492";
};
"travel_mode" = DRIVING;
},
{
distance = {
text = "0,2 km";
value = 221;
};
duration = {
text = "2 min";
value = 97;
};
"end_location" = {
lat = "50.88896";
lng = "20.64503";
};
"html_instructions" = "Skr\U0119\U0107 <b>w prawo</b> w <b>Szyd\U0142\U00f3wek G\U00f3rny</b>";
polyline = {
points = "obruHwx_}BaCpOMv@";
};
"start_location" = {
lat = "50.88824";
lng = "20.64796";
};
"travel_mode" = DRIVING;
},
{
distance = {
text = "0,6 km";
value = 596;
};
duration = {
text = "1 min";
value = 56;
};
"end_location" = {
lat = "50.88427";
lng = "20.64091";
};
"html_instructions" = "Skr\U0119\U0107 <b>w lewo</b> w <b>Warszawska</b>";
polyline = {
points = "_gruHmf_}BrGvFjQ`OhA|@";
};
"start_location" = {
lat = "50.88896";
lng = "20.64503";
};
"travel_mode" = DRIVING;
},
{
distance = {
text = "1,0 km";
value = 950;
};
duration = {
text = "2 min";
value = 104;
};
"end_location" = {
lat = "50.88779";
lng = "20.62863";
};
"html_instructions" = "Skr\U0119\U0107 w drug\U0105 <b>w prawo</b> w kierunku <b>Jesionowa</b>";
polyline = {
points = "uiquHul~|BiEvScCzKs@xCmBhK_@dD}@dIk@tBYr@Mf@Op@MnA";
};
"start_location" = {
lat = "50.88427";
lng = "20.64091";
};
"travel_mode" = DRIVING;
},
{
distance = {
text = "4,2 km";
value = 4185;
};
duration = {
text = "5 min";
value = 292;
};
"end_location" = {
lat = "50.90806000000001";
lng = "20.58021";
};
"html_instructions" = "Na rondzie zjazd nr <b>1</b> w <b>\U0141\U00f3dzka</b>";
polyline = {
points = "u_ruH}_||BCd@Cf@?N@RDPHJJHsBzQIl@OrAm@bEEV[vBa@fBUfA_A~Bk@jA}DvGyDpEu@fAsA`C_AhBeAlCmAhDgAnDuAvEwAzFyAvGgA|F]bDH`Ba@fCQjA]tBi@hC}@zDsB|GeBdDwD|Gg@~@cAhBGJ_H`Mo@jAiB`DaAlBcBfD_@`A[fACDuCrMcC`L?@{AhHw@rDiDhPSx@e@dBc@vAa@fAi@jAgCfF{@rAe@p@A@m@p@kBhB";
};
"start_location" = {
lat = "50.88779";
lng = "20.62863";
};
"travel_mode" = DRIVING;
},
{
distance = {
text = "0,2 km";
value = 213;
};
duration = {
text = "1 min";
value = 54;
};
"end_location" = {
lat = "50.90968";
lng = "20.57859";
};
"html_instructions" = "Kontynuuj wzd\U0142u\U017c <b>Trasa 74</b>";
polyline = {
points = "k~uuHiqr|BkBzAiEtEMP";
};
"start_location" = {
lat = "50.90806000000001";
lng = "20.58021";
};
"travel_mode" = DRIVING;
},
{
distance = {
text = "92,8 km";
value = 92776;
};
duration = {
text = "1 godz. 17 min";
value = 4641;
};
"end_location" = {
lat = "50.24777";
lng = "20.08501";
};
"html_instructions" = "Skr\U0119\U0107 <b>w lewo</b> w <b>E77</b>";
......
status = OK;
}
接下来我使用这种方法来获取“点”键的值:
NSArray *items = [jsonArray valueForKeyPath:@"routes.legs.steps.polyline.points"];
当我想打印数组元素时,它只给出一个元素(这很奇怪,因为我在 json 中有 25 个点),结果看起来像这样:
(
(
"gfruHo``}BvBvF",
"obruHwx_}BaCpOMv@",
"_gruHmf_}BrGvFjQ`OhA|@",
"uiquHul~|BiEvScCzKs@xCmBhK_@dD}@dIk@tBYr@Mf@Op@MnA",
"u_ruH}_||BCd@Cf@?N@RDPHJJHsBzQIl@OrAm@bEEV[vBa@fBUfA_A~Bk@jA}DvGyDpEu@fAsA`C_AhBeAlCmAhDgAnDuAvEwAzFyAvGgA|F]bDH`Ba@fCQjA]tBi@hC}@zDsB|GeBdDwD|Gg@~@cAhBGJ_H`Mo@jAiB`DaAlBcBfD_@`A[fACDuCrMcC`L?@{AhHw@rDiDhPSx@e@dBc@vAa@fAi@jAgCfF{@rAe@p@A@m@p@kBhB",
"k~uuHiqr|BkBzAiEtEMP",
"ohvuHegr|Bl@rCN`@Xf@n@h@xAx@hAz@nAdCtFdf@~Dv]~Ipu@zHpq@hAjIpA`JhBbJ`CxJjC~IfDlK`AtCfAvCfCdGdGhKpB|CvD`F`D|D~BzBhFbF`DvCjDhC`DdBtFtC|EtBxSjIfAd@|ErBzB~@~InDtX`KjDzArBz@|[dLvYpKzLdF`FnB~E|BrDfCbCxBjClChAjAfAhAbArALPf@r@j@`Ah@dApAfCx@~A~AfDrAlDtAbFrDpOb@rBvBrJj@`Bx@~BlAdDpClEfCrDhF~EhEnD|DvD~BjC~DzFnBfChVj_@|EbIbCvDpCfExY`d@lKbPnE~FfEbEhErCbB|@pBt@zEfAfCXpBHrB?zAK`BUhB[nAa@zAi@|As@p@]l@a@z@i@|AmAhAcAd@e@`AoArAiBdBqChBkDv@gBhBwEXs@Z{@t@sBvDaKnB{E|BmF|AsCbC{DrAkBxBiCnCqCfBwAvCmBTMd@Wv@e@dAg@z@a@hAa@^K\\M~@Y~A]zAWtAQTCzBStBElADH@nCHfAJ|@JnAR|@PdAX~Bp@dBd@~GnCd@R|GvCnInDjOlG`E|APFbDxAdCjBfF`F|A`BhCnDnElJlEdLbY`t@~Svi@vB`FrAbBbArArBpBhBjAn~@j[bAv@n@|@rGlOtEbLdDbHvC`GzBnDzCzEzBnD|BdF~@`EXfDRxDjArV^jGd@zBx@pC~@fBrBrBhN`LzRvO|U~QrNhLzSxO|WnSnOhN|I~GhDhBdFzAtBx@fBhAbDvB`CjC~BbDrDlJlJh[hP~i@vAxD`AhArJtJ`d@`b@|JhJr_Av{@bIdHtD`DpW`OhSvKfP|IvEbDbx@vo@r^vYjBhBnEjEfBnBrl@bv@fEbF~Wt\\tDxE|I|K`KhMHXjB~BdBjBnBpBzArApA`AlAx@pA|@|@f@fAj@~Ar@tAj@tAf@vA`@vA\\~Bh@bFhA`HvAbGlAjEz@|EbA~KzBtMpChE~@H@HBbDr@vE~@n@LPDt@NnB^~A\\n@NpDt@VFB@b@Hz@PjAVhCn@TFhA^PJPE`@PtAr@|AbAr@f@hA|@x@t@z@z@dAnAx@dAr@`Ah@x@f@~@v@tAr@`Bv@jBn@bB?B`@nABHV|@Nf@Rx@FRh@bCVrAZhBVdBR`BRpBPzBNzBJfC`@xJp@nRd@pM`@pK\\~Jf@jMNlEA^DjAPvBRrBR|A\\nB\\xAXpA`@xAf@|Al@`Bj@pAl@lAx@rALFl@~@rBrCtHzJ|Vt\\rBnCbo@zy@jQbUtTdYdArA|Z``@zPbUbGzIpRrV|f@nn@pVd[rL`PrTvXnF~G|Zxa@hWj]pIpKna@`h@lB~Dba@pIxHzA~o@fMlADxEbAfW~Frd@nJbE`AhGmA`S}KfFsCdNmHdAKjDW~DMtDdAtDjDlBvB~BhCnElHnCzDdBhBpOpTzJlKfJvDrtA|UjATnv@zM`pAp\\xDjAxE`AdFbAb]lg@vXpa@vApJaCvj@jAlNjF~JbdA~q@xRxLbF~C|JvDzEhBfUlMv]|R|[~RpVhOdMt`@nQrXtEhNh^na@`O`JfJvFh]fo@``@lt@tMjXlAjPYfGqEhVeDjLArMfWf~A`@|@x@fBdUhQnD`FjKvZ~BzGjGjGrOTpq@fAxCDdDDP?N?l@Bl@BzAFzAHN@N@J@H?x@Dx@DhAFfAHF?H?p@Hp@H|@H|@JtAPvAPhAPhANp@Fn@Dh@Bj@D~GA`HCjAGjAIjD@jD@\\RZPrB@pB?dC@dCBTORQJ@J?xANxAPf@Lh@Np@Rp@Rz@Zx@XdAh@dAj@j@^h@^t@j@t@l@r@l@r@n@l@n@j@n@^f@`@h@`AnA~@pAv@nAv@pAbArBbApBt@tAt@tAZf@\\h@d@j@f@j@HHHFPRPPb@\\d@\\h@`@j@`@x@^x@^n@Tn@R~@V~@VfDLfDL~DN|DPpBHpBFd@Bb@@fBHfBFfBFdBFH?zHRxKXdu@dDxRqOzM}D~MaE~c@yM`vAle@jNkNrGsGlAsBn@gD|@gVtAsK|GmP|^ce@~LsO`v@k`At`@{`@xT{Tz@y@|lAmjAdTv@jBvBnAbLF`@L^",
"q_uqHizqyBHRJPV^b@^rBp@v@Rv@Vl@JNTbBf@j@P^?lA\\fCn@j@HfF|AjDfA\\Jd@NdAb@TH",
"wtsqHagqyBr@^VJTDJANG\\e@RSTS",
"qnsqHghqyBTHTBzAZbBZ|Bd@r@LnBb@PBJBpAVzAVJ@H@\\F^Hb@PZ\\R\\L^Px@VdDNzBBn@B\\B^Bb@\\~ETnDBl@TtENrARvABNn@bDTdAh@pBt@bDr@zCh@|Bz@dDjB`IdAvE`A|Dz@tDvCdMt@~Cn@hCXjA",
"yoqqHe_myBjh@j{BdIf]raAprAx@hAzh@lr@pAdAjNfLdOtJrGvEzBxA|@l@\\TTNzA`ArBtAbDtBfBjALHpAz@n@`@pAz@hAx@n@b@JHZXf@f@jAnA~BnChCvCbAhApAzAvA~AhApAlAvArAzA`AhApAxAv@|@b@f@lApAFF|@dA~@bA|@bAj@p@bDtDlAtArEnF|L`O~IvG~QlNbCjD~BlH|@|EN|@DfC@dBDpA?d@@`AD|@Dl@Fr@Lz@Lr@Pr@Ld@Xp@Zp@T`@\\f@b@b@h@f@TJTLXLXHZFTDRDV@T@X?P@N?P?F?\\@jB?|@@n@@jA@x@?z@@\\?X?^A\\Ed@E`@If@Kl@IhASvAWx@OVETERElAUzAYHC^IdBYnASjASbASbAQ^GTE^InAU~AY|@Qv@Od@Gr@Mv@Oz@Mz@QTGXE|AYv@On@Kv@ONCd@Ij@MNCb@Md@O`@Q\\Q\\O^WpAw@f@]f@Wf@[^WTMjAu@z@g@LIl@_@n@a@t@e@ZOh@_@d@Yb@WVIREVC`@@^?h@Bn@@|@@hAB|@@j@@R?lA@fABV@P@RDRFZJPNPNXTX^PTt@fANRd@n@Xd@^n@Xj@Xl@Tp@Rl@Nj@Lp@Jt@Ht@Fv@Bv@D|@@hBBnB@rB@jA@d@@h@BZJn@Lf@L\\PZTVPRTJXJXFLBRAREVMRKRQb@k@l@u@n@}@l@s@TWNITKPAZCPBJBVNTRR\\Xl@Z~@V|@Hd@Ff@Bf@@f@Aj@Ed@Kj@Or@Mj@Sv@Mb@GXI`@EXE`@AZA`@?N?P@VBRLv@Lb@Rb@NVPPXTVLb@Lr@Th@NZHZJVHPFf@Nj@Pj@Pt@TrA^vA`@tAb@bAZHBdDdA`Bf@fBf@jA\\|@Xp@PVHzAd@f@NbAZh@Pj@P~@XlA^`AVt@V|@Xb@NZF\\L\\J\\DV@Z?d@GZK`@Sf@Un@[TM|@a@p@Yh@Yp@[j@Yr@[d@Sd@Md@EVCf@BPBF?L@fAHx@Fr@Dj@BbBLb@Dv@FR@`@B`@Dl@Dd@Bj@D`@Bj@Db@B~@HhBLx@FN@d@D~@F`CPJ@nAJT?fAHb@FbBHfAJdAHR@VBB?z@Fn@Dt@Fn@Dj@DL@bAFd@B\\A^CP?HALCNAPE\\G^GHCv@O^G`@GZE`@C`@?^@ZB^FTDPDPFZJ`@Pd@T^PVN\\NPH`@Rb@LRF\\FVFVDB?V@JBxALxAJnAHfBNnAFr@FfAHhAHl@Bd@FRBF?D@xAVbBZpE`ArBd@B?nAT~AZ|Bh@pDt@dGpApDv@t@N|@RpB`@dGrAbIxAr@LhATfDl@b@LtBj@\\JRB|@Pj@L~AZvAVh@JhB^lAVbDr@TFrAZlBjBpBrBd@`@BDZZtCbDl@l@xA~AJJXXvA|AJJz@~@tAzA\\`@rAzAbAvAZVLJNL",
"slupHqjxxB\\Xj@^x@j@NHj@\\~A`AVPxBrADBfAt@nAx@dBdAp@d@pAx@dEnCLHLHTNZRRLXPXPfAp@b@Vj@\\|A`AZRj@^|@l@HDrAx@lAz@|@p@FB~@v@pA`AdAv@",
"wmspHw|vxBEDKPALCT?pAAbAFhBNZ",
"ymspH_rvxBd@B`BUdCa@n@[ZOHC",
"ubspHcuvxBDC?Ar@Yl@a@|A_BlC_Dl@k@bAiAd@c@`AcAp@s@@Ab@]NILIVKf@Kj@AVCVAr@Id@Ez@SLGDCTORQJK@CZc@R_@b@sAT}@d@sBFWLk@NaAJg@",
"q{qpHe}wxBBMh@cF|@cIXuCv@yGPs@\\y@t@q@",
"mrqpHkayxBlCkAlAi@lAo@v@e@t@e@tC{@^InDu@fAW|@GP@r@BdBZxBn@`IfBlAb@fAv@",
"k~opHceyxBd@j@TTPt@FT",
"u{opHu`yxBoBTu@BuHl@o@BI@",
"klppHg~xxBMqFxAI"
)
)
如何获得具有 25 个 NSString 对象的普通 NSArray?