Синтаксический анализ Json для получения lat long

#android #json

#Android #json

Вопрос:

У меня есть ответ от веб-службы Google, подобный следующему

 {
   "html_attributions" : [],
   "next_page_token" : "CpQCBgEAALxtLOBsfDviXsb8WHg4nGHrCETBydo0YcgOw-IHvFS4CQI1ZaM331dtA8Y3CxPeZZlF0IYjwQMp2A8W5A5UKtTrR4sQq1Um6FJgUNCpZzrcT6RwaPJKzOjbaFrPt5GqnQM6W1vxxdK9nKu5lyBbvLr0yJnzBWEAqyLyT2MFvak-_qDIR8b3yK3Efy34SsoHNnBnaANVc5hMztz7aWGphkTDNtEfuSZnQQ72jPg5_ey5F2G29in_QJXJlR9a3YYNGFmefLta2e0T34OGOhtvCinrdE7dcEUuaK55LV8TnP33HlGKC7PruXkv4AF8Xvxnlsk9ALVFdzECmJ4br6RTq3iWjBZ0z5FPNzqjfa6NNFiqEhDItZbJiBr9cEOaefilqJQSGhSybiB6SRFA8b-p86rFbiNEHjEo3w",
   "results" : [
      {
         "geometry" : {
            "location" : {
               "lat" : 47.610399,
               "lng" : -122.335791
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "8f7e7d038dbd13f283d1875ecf68d04fc2255561",
         "name" : "GNC",
         "opening_hours" : {
            "open_now" : false
         },
         "place_id" : "ChIJ3zJ_hLRqkFQR0AxDtprgAjI",
         "price_level" : 2,
         "reference" : "CnRlAAAAoWRGwTPL4nLYI7qPZ2ukmXEdDWAScl5XASmeogPbQsOEvbFdXvb2cMYWsQZ1LR3QUYDo8djSpfKQc0BFLkA37iw_iTW2XRZy4568H5kReNd1xqVDjZyVmHPaWnKkJrTl0bJh_1P1Vpg-ntqUq-zVkRIQDVbTyrun8WsRA1eftayO8RoUSwjCBqkVaPwmyLJtXfJfk9qmF2I",
         "scope" : "GOOGLE",
         "types" : [ "health", "grocery_or_supermarket", "food", "store", "establishment" ],
         "vicinity" : "421 Pike St, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.61,
               "lng" : -122.33
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "82e45a03dca8dcb2192cc250777a11f2e06452de",
         "name" : "Deluxe Foods LLC",
         "place_id" : "ChIJ9dKBxbVqkFQRoDLJeSe0CZo",
         "reference" : "CoQBcwAAAD1dI5pifx1zH03cyQyPsJL10GZc7UFMHEKgZVzmIbZ77ZUdoXAme2iE3WzBgcCUuwg3zv735Pey9MrLWXdbKBmBGl_mvs_dD6aMmNYEhwft54gVpabn0ZVNLrflNEyun-dUkoeHvx5GEWNj1UvYGB1zbCY1CSUwbiqH4Ouay9GpEhBHwGUT7yCYw9IC3hGGUUxgGhRHU_AjT-jsRrHxoC6o7YKVpCLyCg",
         "scope" : "GOOGLE",
         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
         "vicinity" : "PO Box 30102, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.607573,
               "lng" : -122.333167
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "695bf0d73be3b5f55ca43fe14abce48f9853ef15",
         "name" : "Community Grocery",
         "opening_hours" : {
            "open_now" : false
         },
         "place_id" : "ChIJNeh4UrFqkFQRV3OXAHsHZxg",
         "reference" : "CoQBcwAAALpG-2YSWEiceu-5h5km-SYuQelZR70nMSMg9uhs38uPusDF4s_5hnf6eQ8ORGJf7JGv9w9il4cL9to8r0bcA7HxK2ghxkrWlBbcP2asPWJTCdzrQB-uUs9TKxHc-kldayis9zmLQtHoDW_J8sSXlZHnHNYPol9VjKZIUiIlpYTNEhD9a-VcIRldCMVZhHNow03fGhRsw5lDMDZOcVEHdRBz2NAuhTdZ3Q",
         "scope" : "GOOGLE",
         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
         "vicinity" : "415 Seneca St, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.608163,
               "lng" : -122.335371
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/wine-71.png",
         "id" : "fde562e2d1e74e8ea18d3f758a05fe78c45d9346",
         "name" : "Essential Market",
         "opening_hours" : {
            "open_now" : false
         },
         "place_id" : "ChIJvYQm8LNqkFQRjJM6WIcYE1A",
         "rating" : 3.8,
         "reference" : "CoQBcgAAALd33oAy_-Vxbcbf_gMywCqPHjyZixFi-yc1glcFFxbtpTDywxT-vPFKNExST7K305Ohv0AkhA_Br2Eh8AeetN-D7PxuW3mK5vsYPUbIfOTRWoM_CX2YH84cXOj9eFwGXwTiuXEOvOjhz8SYj59N4g78IUUDi-mfmGzd_C_jq90REhDJ3y45nfvr6IbfvapMnK0ZGhQDCjyU7Zu8ymTuQLGmoEsJRTVVGQ",
         "scope" : "GOOGLE",
         "types" : [
            "liquor_store",
            "grocery_or_supermarket",
            "food",
            "store",
            "establishment"
         ],
         "vicinity" : "1301 4th Ave, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.612122,
               "lng" : -122.332044
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "6b4f8dc7039510bbbfca8fd12b359d444eef2be9",
         "name" : "Clay's Market",
         "place_id" : "ChIJdxjOE7VqkFQR4oDXOXnQEQ8",
         "reference" : "CnRvAAAACC-kzX3pJo0x3OjptaM_wqWs5kbrk53V4xa6gYiOj3PP8Fo8L_DqSTjKRMqrF8bRGVfnTKtaLujZLvxkIgj7pNjyTAauRPKv0TL7dHpru66CyaJRNjoRSHME0xYHJJNj7VQDeLl5HO8dab0FZFrevxIQ6tZzbeqqRp6QEPf_Ue7XhBoU4Y3VkFBSCx_4b1pu1ApLYwXzLDQ",
         "scope" : "GOOGLE",
         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
         "vicinity" : "815 Pike St, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.609336,
               "lng" : -122.337791
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "691548827b64fe2609fb7c27abbb1bcbe224f327",
         "name" : "Kress IGA Supermarket",
         "opening_hours" : {
            "open_now" : false
         },
         "photos" : [
            {
               "height" : 600,
               "html_attributions" : [],
               "photo_reference" : "CnRnAAAAl-_QCXEqC8UaTUMrQDzG_bDcP56Lf2i2CPbBmxYj71VlemLiDrQpC38wmDTwsHvoFF_pGjLBo4vQHfPjM2nSLrPmHQeotYySYTwBhOcXPF9ISdvUNjBbyGUwCUFyBDvdcdIzaChOO0bEi5JVZRxNhRIQVsyOvUEat6gFROdcoh95HhoUS-Mac5cLzJFt12vSx_E7m_VUIfI",
               "width" : 398
            }
         ],
         "place_id" : "ChIJbdIhoLNqkFQRMTiHCN6W4nU",
         "rating" : 4.4,
         "reference" : "CoQBdwAAAN3wdCAgdfatcILheBD3VwNP0Z_Zqjq8niNljnqpzHYJ2ieG6VEgxvfMQCU8BfawcRxO7MTu08gXtElThcYPdrQy5KFfAgdj1dFqi8PUh5R7wKKChjGN-sPj2cqRSIR-K853WjMlNMAhZSJMc2XWAhlbmy2AbXoe_9LsPoQfYE72EhCOBHIK_E0gTGPetycfRP6MGhSlBGpKKlZL00qldn6Xd44Y1TDj7A",
         "scope" : "GOOGLE",
         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
         "vicinity" : "1427 3rd Ave, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.606546,
               "lng" : -122.335449
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "3f23cf0c8bfdbe746a69d518c031dcafbd266d64",
         "name" : "Netzel Associates",
         "place_id" : "ChIJ1Q6vb7FqkFQR0PCOSJtLQpM",
         "reference" : "CoQBdAAAABiMSr5ILBmkVjTeRpVAVHij7jMxhTacAJvz9YTFXVQYCP8he5wD4pAfaOu5dBlI4oagjaPPq8qUif9_hYN_IHTKpYnHaFWqCoHsHe-6kKIO1sIiE5qdLG-Buz2tQkVIPmzPqk67X60dgRux31vZjf10dg6BvizIiMTk5Q8D4AZWEhCJKbWcknUroTKKyatmH0JwGhS2i7O8iONEf9A5_qTBl3N1K8v4fg",
         "scope" : "GOOGLE",
         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
         "vicinity" : "1111 3rd Ave # 2500, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.612607,
               "lng" : -122.336984
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png",
         "id" : "1672b9dd46c6dcb5ae1409d0f87b23f1c38f33d0",
         "name" : "Market Fresh Winter Garden",
         "place_id" : "ChIJrdhDMksVkFQR0ugNKk-w7Fk",
         "reference" : "CoQBfAAAAAxvLHmqlrTabI8g1bBkEMySU_pDqmYpmKmWNie37kRzknuKxRQkbPiVOs7cCB4yxiJGZ2X79qQW1dTFpJ9EE4jclrSKMFqzDqzPET1VHCR_imCSIWRLz_51iveURUW8r2GszBwCDISlu1iB1GBuLT58UB8Ghs-N3_yGxqaE_1JAEhBJn_a6kPPhJqGq9_pr4AifGhQNEEknt7JSyB1mvXCDgZ4o83aNng",
         "scope" : "GOOGLE",
         "types" : [
            "meal_takeaway",
            "restaurant",
            "grocery_or_supermarket",
            "food",
            "store",
            "establishment"
         ],
         "vicinity" : "509 Olive Way, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.613069,
               "lng" : -122.329411
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "08e8916d1ade44b3403b1a1268fc038bd449952b",
         "name" : "Pike Grocery",
         "opening_hours" : {
            "open_now" : true
         },
         "photos" : [
            {
               "height" : 384,
               "html_attributions" : [],
               "photo_reference" : "CnRnAAAAmx9YeUnwUAcOesWmlueyy2ZJQT-GLpRSd0_WXWHV0pP7c42-FvQYcfkpRoDPCHiqlzJSWa_fPcqADGvAi_HaLFCcUhcIbbrTeJOSvlP1bA_ACdWmPBDF26vYc6xAJqmtR37EXiZ5j-sVYh09_hpEzRIQap8C87zKuwIYfsR6zsAg2RoUsAbkV4FLlFmsKTthHEbVdd0G9VM",
               "width" : 512
            }
         ],
         "place_id" : "ChIJMwdemspqkFQRUqQ91N-ufeo",
         "reference" : "CnRvAAAAPclUek8vRV5Wcsbp4G08nttAphmKfTASUhTAR4I8vUnTFkSp7NP06JC4y3Xj7qTr9I105d7HpVkQJhuH6HDyLzej-FM5yDc7LqNMmkrAN3CcmQezcd9MhSZkdXdTDKTsYaZV4GgWogi4lqFcUgfhDBIQd1M7Sq4-EWJ4Y6cNUJPKHBoUnHoVxfWyl3lK7imAxJkxGkKNH9k",
         "scope" : "GOOGLE",
         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
         "vicinity" : "1011 Pike St, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.606521,
               "lng" : -122.337704
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "110c00b34dc635662716772ab4a0e0f6deced28a",
         "name" : "Young's Market",
         "place_id" : "ChIJ44qIiLFqkFQRw1TsXz9H2kg",
         "reference" : "CnRwAAAAxMdsj6FXUIP8S9c42j9nSu7XtMyNY612TS6njqubsoZLBJwpr6GmxsrRKREPttLtBSYWOmq4gP2ovwO2utvqtLpjHcWs2YCFhNKj4k8Sz7F_d3aoAzOwNKmIp88bPxMbPUJj9eKI5gvTxct9CfRe4BIQolTWxCAybHKlUTMnfVgNfhoUlO1jmn7wrjUBVBcnZYe5QubTl_w",
         "scope" : "GOOGLE",
         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
         "vicinity" : "1210 1st Ave, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.608777,
               "lng" : -122.33973
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "d2f9218e208a84da7c7a7e2980cebd3671a8f386",
         "name" : "Double Dorjee",
         "place_id" : "ChIJkX3s-LJqkFQRQRexqCN0jQY",
         "reference" : "CnRvAAAAoRDVxZ8W_qmEWPmjxXulAz9lS562rRQgirkEIhgXesLoXNgcJsw2iQIymEUKRmvQwrAOuLYrOIa8t1yPQdYYAvEajqIxcZ0PWzMEUeaDuCKL37p_WGzKOJuHhv0ki_3Z10BOPwmCNvo5XiOfz7j1ABIQK9UdmY_KTIYTP8tnoG5T_RoULYEoZrNBYy8EULQD7LUGs_E7krU",
         "scope" : "GOOGLE",
         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
         "vicinity" : "1501 Pike St, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.608248,
               "lng" : -122.339523
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "efeff82fc657a72cf8a3079aabe0e27d0d91a6c5",
         "name" : "Lina's Fruit amp; Produce",
         "place_id" : "ChIJD22J-LJqkFQRxhEAGumCphs",
         "reference" : "CoQBeAAAAFcDpYes7w9SDBBHP_bOYNQrM1CUQichslNR-hyXATeyWMptKnIEdS27q0HR5BLfQAzQvgP_yIM2ElDrfSjtSdTVgiJlWZuVhtsBRIdV4n8cthl6uihZJnmtevrBYRq7GEid2Bp_IZiLJ4K6nYIpsyKlJNpBBvcKASbEsn4TAtM-EhCYsE2fgYPwEgX4ZHAkU6t7GhS2-N0cGpHzmVMAgNMKYP2GCW23-g",
         "scope" : "GOOGLE",
         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
         "vicinity" : "1431 1st Ave # 7, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.605109,
               "lng" : -122.333955
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "d81b188da1c901ec10149c5224e6fd1beac9ef9c",
         "name" : "Second Avenue Sundries",
         "place_id" : "ChIJexG9_rBqkFQRi7Zb8KM4P98",
         "reference" : "CoQBeQAAAOH07x4jtyj3WTa6sWNSHXCPGItPL7kbSJbQFreF2VUJ-vxjenChmIoGcvsIREYEsV_dZYyXG3RoMpezUCUkuIvLsaEt1wxJcK6t0tM8QHylTdcc9IJRmjE_npy9rTbIehBixa5ESV1EGmF_rhyHQJyhPjAz7hmDcdlysEBRuySsEhAq3UlVuENA0aC8L59q8ZEFGhSUrFU9dmUkkl24SQ6RMQvA74mB5w",
         "scope" : "GOOGLE",
         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
         "vicinity" : "999 3rd Ave, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.614062,
               "lng" : -122.335451
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "69ff94699431b37223bdea4fd7792c7244a6b36c",
         "name" : "Sphere Foods",
         "place_id" : "ChIJ1ef53EoVkFQRlYzOwPY7DhA",
         "reference" : "CnRuAAAA6qjCWZS9h_Eb5x5UOAN2J99LIsJ9NEVR-LtbjUoLKx5OJmLmGGYEazQmbf02Rp8TrqyEVeE41rHimDGdvnQkj5WbLrxQCVM195Y3bLssymy7kUTFVaiclgZjVdEPf5WLcC9Xl6JjfiWxqN-5I1oEihIQZtGMYRH317G1c7rRQWd9MxoUmSFfTX5FwgECzfDH7hRFX4F5mJA",
         "scope" : "GOOGLE",
         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
         "vicinity" : "1700 7th Ave # 2100, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.614425,
               "lng" : -122.334307
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png",
         "id" : "e5be7cde6eb52cb0a5a7aa975ea915e2f80bd7dc",
         "name" : "Stewart Street Market",
         "opening_hours" : {
            "open_now" : true
         },
         "photos" : [
            {
               "height" : 1152,
               "html_attributions" : [],
               "photo_reference" : "CnRnAAAAqeZQn6gaLGIJib2WaNAcw7GdNLJuCc6AvrMCF543GBpl9tgLJ99CS0DmrdbHyWVMcw_H7q_LZgOqqKLwkilB95SjXsJqu4O3KMVQQAqtQWHW27u2vKVkTOqxAWTDppdManOPMUlFP2LLN1zya33z2xIQY-si5NTVqW9CpTd2AhP9NxoURwp9wSSgmZY2dtC1q6OezNsUvQw",
               "width" : 2048
            }
         ],
         "place_id" : "ChIJ7yBfx0oVkFQRcLjVXNF_3qg",
         "reference" : "CoQBeAAAADTkEpb503o9qN93lxGtIlh8x-uyIgRIs0Pj_-gGXpxQoQkAnIGcmVYgDLEzcFtpgzDchjxRWmns1RPUhqnThNJp4_VmG3ZP42zFNDAO_Q2_YowPiM7Wgz3oQsr66uIEBKZnNW9QRrd_GMbA64OdLZGrn7wZwvdp5UWCCnJJe0NFEhBKdwGNlHZTu2Y4BOi6Zl-lGhSbbDS4npeTaLx_cwgpmTmKUpp43g",
         "scope" : "GOOGLE",
         "types" : [
            "convenience_store",
            "grocery_or_supermarket",
            "food",
            "store",
            "establishment"
         ],
         "vicinity" : "1812 8th Ave, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.609322,
               "lng" : -122.325655
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "87b467979468e6d2b5b203c7486d84e08505dd17",
         "name" : "Plaza Select Foods",
         "photos" : [
            {
               "height" : 720,
               "html_attributions" : [ "From a Google User" ],
               "photo_reference" : "CnRnAAAAhzdJBafPaRrh7mLSuB87bVza6ErJKRSvyNKU6pGa1EcblihzmqNx67HZQog-EO7wkvag7KP0bNXWvNXo9RF5u2vYNxZZ-5v7Z7KhL7tOmfWi7U7n6aFr9Sls_fZ_KcpBmH-m63Nl4H6E5GDFZwwNuxIQJUHOGAtXDDa9YT62KVkEjhoUVenpQc8oBGHYJOwTPiJDxSf2aH8",
               "width" : 960
            }
         ],
         "place_id" : "ChIJy1bFH7ZqkFQRXpKoZ2NFh2Y",
         "reference" : "CoQBdAAAAJZ0WNOu_ProGJ7t62FbE2ADOx6sGGH0YIR1KNGRqiZ9scWKjBjMhUHb3VNKZzEuvFUIBPOjrfBtkbjpEUthCC8HHbe_hsuLCyp2FUi2AFDVgBWB49X4fPla0IcNoOECfEzwRskswcKgcNyob1wt_mB2nEEbQVFDr8W6vhRsl1EyEhBgAGQ9WXQzLHZzzRs84JEyGhRM0Rx5TiF0g11uFT5mg6v6uHr97g",
         "scope" : "GOOGLE",
         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
         "vicinity" : "1024 Madison St, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.608802,
               "lng" : -122.340552
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "14a2e0601f06734e7c8be82ed00d3806e3f9ecd4",
         "name" : "Corner Produce",
         "place_id" : "ChIJn9FR9rJqkFQR89xobVdunBE",
         "reference" : "CnRwAAAAFad6cCCAww55VmSDqvH9XCZzHx5LoyFH2MHT5YkFM9NZNr7L3eKhd02_VnSEunZ3sMlCyvT37k-Tg6EZV4MuWVOZ2imbVrPX1OeRgJWS6OgXx-FHabcAj2W5jgRkCsHwEhjwTW0DNYNDX5GEn-a1HRIQNsCEN53Q1PC3NAHCTutgARoU-4Qq8ZOFJfF3Lyyc1Xf66FN8KQ0",
         "scope" : "GOOGLE",
         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
         "vicinity" : "1500 Pike Pl, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.60884,
               "lng" : -122.340616
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png",
         "id" : "2a7a890254bcb2b1ae409cbf78d4e741800f036f",
         "name" : "Oriental Mart",
         "photos" : [
            {
               "height" : 460,
               "html_attributions" : [
                  "u003ca href="https://plus.google.com/115115924044576716973"u003eMatt Goodu003c/au003e"
               ],
               "photo_reference" : "CnRtAAAAYab-XNz1Tm-iiB1qfxZJiC-T--LI7Mr5haR62p-RlGTrAIAPk2lhWogWOTQcFjPIHCiM2aYN2Iu-qkqPVGsEGony955zdEo6T3oOUKgNvT5WZvw6w_WU3aNdyLNh0xh-wRi4TNi6T70jutWPs6qkrRIQbdKBlQ6Yk1ROLxYnfSYF0BoUn9chrbaMj73dJleIqEzjxmi-9nY",
               "width" : 816
            }
         ],
         "place_id" : "ChIJt7FX9rJqkFQR-R2iORwxyXQ",
         "reference" : "CnRvAAAA8b_D2XlfYEVl6Oi5uYGRdJILg6dW3oRrLu8Q9xd9EukH2omaTGNlupKgahjJREN5jiNKdj9FSmpR4F0Du2XMbW9xmMEpO6CmPEG8zbBHQVNBs2zHzU2_m0WFnLv21mdxfAd20GVX6f6cdZ2COkb_KhIQhh6kZ-vny430yF0EvmH7eBoUZ3TVjq_RHxXlY_jpaN1qk2Yc3UM",
         "scope" : "GOOGLE",
         "types" : [
            "convenience_store",
            "grocery_or_supermarket",
            "food",
            "store",
            "establishment"
         ],
         "vicinity" : "1506 Pike Pl #509, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.608918,
               "lng" : -122.340729
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "301d23a6579067833036e39ef46357e1d8e5ba68",
         "name" : "Frank's Quality Produce",
         "place_id" : "ChIJpdHb8LJqkFQRo8X7RoXoz2U",
         "reference" : "CoQBeQAAAKEBHFRM9OPUb4CWC5bC1HYamXOFc0lzWyWCX-4eyhtOOIEvcxHIsj4y1xkBiXTIsttPetJYNr5KKux3Y3q5ZF7SKutTqiRYbk0hESohet1_EdcnPU31_IBRLo9W-T_7wiDb3FnN24rYmz9J9Kz7pxhlyKyR2VLMuTLMALNLJC2YEhChDDy463zp0HRiZaAsFSG3GhTe1n0deejJDnxNB2AK4zOf1HGkMw",
         "scope" : "GOOGLE",
         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
         "vicinity" : "1508 Pike Pl, Seattle"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 47.609231,
               "lng" : -122.340848
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "228c792a04f0d9c3b8086b9f857521945f87c975",
         "name" : "Choice Produce",
         "place_id" : "ChIJmbBY97JqkFQR4JkuKXVDT3A",
         "reference" : "CnRwAAAAWE1aK6eOe-rdRjgs2HJZHB__viCdWu2u7Qx0chME1CgDnnOycW_dcim98Szb2bzUjTy12wGk9fGO42jpywL-Zevm_ilfqi6q7jvRQxSGvsybbZau_Tc_orGj41Gz8fWK1R6_YvAT1n0II9DPFca1lxIQviRIxzWL3GRqyK3dun_4zRoUrNDpGHpGZHKUngGPiBLLH46zOqI",
         "scope" : "GOOGLE",
         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
         "vicinity" : "1514 Pike Pl, Seattle"
      }
   ],
   "status" : "OK"
}
  

Мне нужно проанализировать его и получить значения lat и long

Я назначил его следующим образом

 JSONArray JA=new JSONArray(result);
        JSONObject json= null;
  

Где результат содержит ответ веб-службы. Как я могу проанализировать его и получить требуемые значения?

Комментарии:

1. Ответ представляет собой объект JSON, а не массив. Вот почему new JSONArray(result) произойдет сбой.

2. JSONArray JA=новый JSONArray(результат); JSONObject json= null; lat = новая строка[JA.length()]; longde = новая строка[JA.length()]; for(int i=0;i.getJSONObject(i); lat[i] = json.getString(«lat»); londe[i] = json.getString(«lng»); }

3. Хорошо, как это исправить и получить thse (lat, lng) в виде пар в массиве??

Ответ №1:

попробуйте этот код.вы получите значение lat и lng:

  if (jsonStr != null) {
            try {
                JSONObject jsonObj = new JSONObject(jsonStr);

                // Getting JSON Array node
                results = jsonObj.getJSONArray("result");

                // looping through All Contacts
                for (int i = 0; i < contacts.length(); i  ) {
                    JSONObject c = contacts.getJSONObject(i);
                    JSONObject geo = c.getJSONObject("geomatrics");

                    JSONObject place = geo.getJSONObject("location");


                    String id = place.getString(lat);
                    String name = place.getString(lng);
                   }}}
  

Комментарии:

1. дайте мне знать, если вы получите ответ.

Ответ №2:

К вашему сведению, ответ JSON является объектом, а не массивом.

Шаги для получения значений lat / lng:

  1. Получить results массив JSON из полученного ответа объекта JSON
  2. Выполните итерацию по всем вспомогательным объектам JSON, затем сначала получите geometry вспомогательный объект.
  3. Из подобъекта geometry получите объект location. Из объекта location выполните синтаксический анализ и получите значения lat / lng.

Пожалуйста, не запрашивайте код, поскольку в Интернете существует множество руководств по JSON, но вы можете использовать следующие методы для синтаксического анализа:

  1. getJSONObject()
  2. getString()
  3. getLong()

Комментарии:

1. вы можете написать это здесь?? Я новичок в этом приятеле.

2. @androidsuckzzz вы можете сослаться на сообщение в блоге, написанное мной в руководстве по синтаксическому анализу Android JSON .

3. код будет полным, дорогой друг, я новичок в этом

4. @androidsuckzzz мой дорогой код уже приведен в этом руководстве. Я не могу сдавать кровь напрямую, вам нужно что-то есть и переваривать!

Ответ №3:

В JSON есть несколько местоположений, поэтому вам понадобится и ArrayList сохранить их все.

Я рекомендую использовать ArrayList<HashMap<String,Double>>

Предполагая, что у вас есть результат в виде String объекта с именем result :

 ArrayList<HashMap<String, Double>> list = new ArrayList<HashMap<String,Double>>();
JSONObject jsonObj= new JSONObject(result);
JSONArray results = jsonObj.getJSONArray("results");
for(int i=0;i<results.length();i  ){
    JSONObject temp = results.getJSONObject(i).getJSONObject("geometry").getJSONObject("location");
    Double lat = temp.getDouble("lat");
    Double lng = temp.getDouble("lng");
    HashMap map = new HashMap<String, Double>();
    map.put("lat",lat);
    map.put("lng",lng);
    list.add(map);
}
  

теперь вы можете восстановить любую позицию, используя

 Double lat=list.get(4).get("lat");
Double lng=list.get(4).get("lng");
  

Надеюсь, это поможет. приветствия 🙂

Ответ №4:

Приведите ответ к JSONObject следующим образом

 JSONObject jsonObj = new JSONObject(result);// where result is the response you got
  

Получите результирующий массив следующим образом

 JSONArray results = jsonObj.getJSONArray("results"); // where results is the tag in resposne
  

Теперь у вас есть весь массив в результатах
для цикла всего материала

     for(int i=0;i<results.length();i  )
    {
       JSONObject location = results.getJSONObject(i).getJSONObject("geometry").getJSONObject("location");;
       String lat  = location.optString("lat");
       String lng  = location.optString("lng");
    }
  

Если вам нужны lat и long внутри массива, добавьте их в массив.