Извлечь данные из сложного объекта в js

Требуется извлечь из JSON объекта данные.

Сервер возвращает мне объект такого типа:

{
"response": {
    "GeoObjectCollection": {
        "metaDataProperty": {
            "GeocoderResponseMetaData": {
                "request": "Москва, правды, д",
                "results": "10",
                "found": "6"
            }
        },
        "featureMember": [
            {
                "GeoObject": {
                    "metaDataProperty": {
                        "GeocoderMetaData": {
                            "precision": "street",
                            "text": "Россия, Москва, улица Правды",
                            "kind": "street",
                            "Address": {
                                "country_code": "RU",
                                "formatted": "Россия, Москва, улица Правды",
                                "Components": [
                                    {
                                        "kind": "country",
                                        "name": "Россия"
                                    },
                                    {
                                        "kind": "province",
                                        "name": "Центральный федеральный округ"
                                    },
                                    {
                                        "kind": "province",
                                        "name": "Москва"
                                    },
                                    {
                                        "kind": "locality",
                                        "name": "Москва"
                                    },
                                    {
                                        "kind": "street",
                                        "name": "улица Правды"
                                    }
                                ]
                            },
                            "AddressDetails": {
                                "Country": {
                                    "AddressLine": "Россия, Москва, улица Правды",
                                    "CountryNameCode": "RU",
                                    "CountryName": "Россия",
                                    "AdministrativeArea": {
                                        "AdministrativeAreaName": "Москва",
                                        "Locality": {
                                            "LocalityName": "Москва",
                                            "Thoroughfare": {
                                                "ThoroughfareName": "улица Правды"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "name": "улица Правды",
                    "description": "Москва, Россия",
                    "boundedBy": {
                        "Envelope": {
                            "lowerCorner": "37.574507 55.782132",
                            "upperCorner": "37.584766 55.791643"
                        }
                    },
                    "Point": {
                        "pos": "37.579888 55.786617"
                    }
                }
            },
            {
                "GeoObject": {
                    "metaDataProperty": {
                        "GeocoderMetaData": {
                            "precision": "other",
                            "text": "Россия, Москва, Юго-Западный административный округ, район Южное Бутово, микрорайон Д",
                            "kind": "district",
                            "Address": {
                                "country_code": "RU",
                                "formatted": "Россия, Москва, Юго-Западный административный округ, район Южное Бутово, микрорайон Д",
                                "Components": [
                                    {
                                        "kind": "country",
                                        "name": "Россия"
                                    },
                                    {
                                        "kind": "province",
                                        "name": "Центральный федеральный округ"
                                    },
                                    {
                                        "kind": "province",
                                        "name": "Москва"
                                    },
                                    {
                                        "kind": "locality",
                                        "name": "Москва"
                                    },
                                    {
                                        "kind": "district",
                                        "name": "Юго-Западный административный округ"
                                    },
                                    {
                                        "kind": "district",
                                        "name": "район Южное Бутово"
                                    },
                                    {
                                        "kind": "district",
                                        "name": "микрорайон Д"
                                    }
                                ]
                            },
                            "AddressDetails": {
                                "Country": {
                                    "AddressLine": "Россия, Москва, Юго-Западный административный округ, район Южное Бутово, микрорайон Д",
                                    "CountryNameCode": "RU",
                                    "CountryName": "Россия",
                                    "AdministrativeArea": {
                                        "AdministrativeAreaName": "Москва",
                                        "Locality": {
                                            "LocalityName": "Москва",
                                            "DependentLocality": {
                                                "DependentLocalityName": "Юго-Западный административный округ",
                                                "DependentLocality": {
                                                    "DependentLocalityName": "район Южное Бутово",
                                                    "DependentLocality": {
                                                        "DependentLocalityName": "микрорайон Д"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "name": "микрорайон Д",
                    "description": "район Южное Бутово, Юго-Западный административный округ, Москва, Россия",
                    "boundedBy": {
                        "Envelope": {
                            "lowerCorner": "37.536419 55.536298",
                            "upperCorner": "37.543866 55.540419"
                        }
                    },
                    "Point": {
                        "pos": "37.540416 55.538728"
                    }
                }
            },
            {
                "GeoObject": {
                    "metaDataProperty": {
                        "GeocoderMetaData": {
                            "precision": "other",
                            "text": "Россия, Ростовская область, Зерноградский район, хутор Путь Правды",
                            "kind": "locality",
                            "Address": {
                                "country_code": "RU",
                                "formatted": "Россия, Ростовская область, Зерноградский район, хутор Путь Правды",
                                "Components": [
                                    {
                                        "kind": "country",
                                        "name": "Россия"
                                    },
                                    {
                                        "kind": "province",
                                        "name": "Южный федеральный округ"
                                    },
                                    {
                                        "kind": "province",
                                        "name": "Ростовская область"
                                    },
                                    {
                                        "kind": "area",
                                        "name": "Зерноградский район"
                                    },
                                    {
                                        "kind": "locality",
                                        "name": "хутор Путь Правды"
                                    }
                                ]
                            },
                            "AddressDetails": {
                                "Country": {
                                    "AddressLine": "Россия, Ростовская область, Зерноградский район, хутор Путь Правды",
                                    "CountryNameCode": "RU",
                                    "CountryName": "Россия",
                                    "AdministrativeArea": {
                                        "AdministrativeAreaName": "Ростовская область",
                                        "SubAdministrativeArea": {
                                            "SubAdministrativeAreaName": "Зерноградский район",
                                            "Locality": {
                                                "LocalityName": "хутор Путь Правды"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "name": "хутор Путь Правды",
                    "description": "Зерноградский район, Ростовская область, Россия",
                    "boundedBy": {
                        "Envelope": {
                            "lowerCorner": "40.99946 46.921242",
                            "upperCorner": "41.058048 46.948421"
                        }
                    },
                    "Point": {
                        "pos": "41.037207 46.926381"
                    }
                }
            },
            {
                "GeoObject": {
                    "metaDataProperty": {
                        "GeocoderMetaData": {
                            "precision": "other",
                            "text": "Россия, Москва, Юго-Западный административный округ, район Южное Бутово, микрорайон Д1",
                            "kind": "district",
                            "Address": {
                                "country_code": "RU",
                                "formatted": "Россия, Москва, Юго-Западный административный округ, район Южное Бутово, микрорайон Д1",
                                "Components": [
                                    {
                                        "kind": "country",
                                        "name": "Россия"
                                    },
                                    {
                                        "kind": "province",
                                        "name": "Центральный федеральный округ"
                                    },
                                    {
                                        "kind": "province",
                                        "name": "Москва"
                                    },
                                    {
                                        "kind": "locality",
                                        "name": "Москва"
                                    },
                                    {
                                        "kind": "district",
                                        "name": "Юго-Западный административный округ"
                                    },
                                    {
                                        "kind": "district",
                                        "name": "район Южное Бутово"
                                    },
                                    {
                                        "kind": "district",
                                        "name": "микрорайон Д1"
                                    }
                                ]
                            },
                            "AddressDetails": {
                                "Country": {
                                    "AddressLine": "Россия, Москва, Юго-Западный административный округ, район Южное Бутово, микрорайон Д1",
                                    "CountryNameCode": "RU",
                                    "CountryName": "Россия",
                                    "AdministrativeArea": {
                                        "AdministrativeAreaName": "Москва",
                                        "Locality": {
                                            "LocalityName": "Москва",
                                            "DependentLocality": {
                                                "DependentLocalityName": "Юго-Западный административный округ",
                                                "DependentLocality": {
                                                    "DependentLocalityName": "район Южное Бутово",
                                                    "DependentLocality": {
                                                        "DependentLocalityName": "микрорайон Д1"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "name": "микрорайон Д1",
                    "description": "район Южное Бутово, Юго-Западный административный округ, Москва, Россия",
                    "boundedBy": {
                        "Envelope": {
                            "lowerCorner": "37.534559 55.538667",
                            "upperCorner": "37.537685 55.542034"
                        }
                    },
                    "Point": {
                        "pos": "37.535817 55.540261"
                    }
                }
            },
            {
                "GeoObject": {
                    "metaDataProperty": {
                        "GeocoderMetaData": {
                            "precision": "other",
                            "text": "Россия, Москва, Юго-Восточный административный округ, район Печатники, микрорайон 34Д",
                            "kind": "district",
                            "Address": {
                                "country_code": "RU",
                                "formatted": "Россия, Москва, Юго-Восточный административный округ, район Печатники, микрорайон 34Д",
                                "Components": [
                                    {
                                        "kind": "country",
                                        "name": "Россия"
                                    },
                                    {
                                        "kind": "province",
                                        "name": "Центральный федеральный округ"
                                    },
                                    {
                                        "kind": "province",
                                        "name": "Москва"
                                    },
                                    {
                                        "kind": "locality",
                                        "name": "Москва"
                                    },
                                    {
                                        "kind": "district",
                                        "name": "Юго-Восточный административный округ"
                                    },
                                    {
                                        "kind": "district",
                                        "name": "район Печатники"
                                    },
                                    {
                                        "kind": "district",
                                        "name": "микрорайон 34Д"
                                    }
                                ]
                            },
                            "AddressDetails": {
                                "Country": {
                                    "AddressLine": "Россия, Москва, Юго-Восточный административный округ, район Печатники, микрорайон 34Д",
                                    "CountryNameCode": "RU",
                                    "CountryName": "Россия",
                                    "AdministrativeArea": {
                                        "AdministrativeAreaName": "Москва",
                                        "Locality": {
                                            "LocalityName": "Москва",
                                            "DependentLocality": {
                                                "DependentLocalityName": "Юго-Восточный административный округ",
                                                "DependentLocality": {
                                                    "DependentLocalityName": "район Печатники",
                                                    "DependentLocality": {
                                                        "DependentLocalityName": "микрорайон 34Д"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "name": "микрорайон 34Д",
                    "description": "район Печатники, Юго-Восточный административный округ, Москва, Россия",
                    "boundedBy": {
                        "Envelope": {
                            "lowerCorner": "37.717447 55.691131",
                            "upperCorner": "37.723654 55.695144"
                        }
                    },
                    "Point": {
                        "pos": "37.720699 55.693196"
                    }
                }
            },
            {
                "GeoObject": {
                    "metaDataProperty": {
                        "GeocoderMetaData": {
                            "precision": "other",
                            "text": "Россия, Москва, Северный административный округ, Тимирязевский район, жилой комплекс Д1",
                            "kind": "district",
                            "Address": {
                                "country_code": "RU",
                                "formatted": "Россия, Москва, Северный административный округ, Тимирязевский район, жилой комплекс Д1",
                                "Components": [
                                    {
                                        "kind": "country",
                                        "name": "Россия"
                                    },
                                    {
                                        "kind": "province",
                                        "name": "Центральный федеральный округ"
                                    },
                                    {
                                        "kind": "province",
                                        "name": "Москва"
                                    },
                                    {
                                        "kind": "locality",
                                        "name": "Москва"
                                    },
                                    {
                                        "kind": "district",
                                        "name": "Северный административный округ"
                                    },
                                    {
                                        "kind": "district",
                                        "name": "Тимирязевский район"
                                    },
                                    {
                                        "kind": "district",
                                        "name": "жилой комплекс Д1"
                                    }
                                ]
                            },
                            "AddressDetails": {
                                "Country": {
                                    "AddressLine": "Россия, Москва, Северный административный округ, Тимирязевский район, жилой комплекс Д1",
                                    "CountryNameCode": "RU",
                                    "CountryName": "Россия",
                                    "AdministrativeArea": {
                                        "AdministrativeAreaName": "Москва",
                                        "Locality": {
                                            "LocalityName": "Москва",
                                            "DependentLocality": {
                                                "DependentLocalityName": "Северный административный округ",
                                                "DependentLocality": {
                                                    "DependentLocalityName": "Тимирязевский район",
                                                    "DependentLocality": {
                                                        "DependentLocalityName": "жилой комплекс Д1"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "name": "жилой комплекс Д1",
                    "description": "Тимирязевский район, Северный административный округ, Москва, Россия",
                    "boundedBy": {
                        "Envelope": {
                            "lowerCorner": "37.577678 55.808184",
                            "upperCorner": "37.579861 55.80914"
                        }
                    },
                    **"Point": {
                        "pos": "37.57863 55.80871"
                    }**
                }
            }
        ]
    }
}

из него мне надо получить объект Point с его данными. Это данные долготы и широты после чего методом split разделю его на долготу и широту, которые запишу в стейт переменные в React JS приложения


Ответы (1 шт):

Автор решения: Stepan Kasyanenko

Для этого вы можете использовать метод map.

const data = {
  "response": {
    "GeoObjectCollection": {
      "metaDataProperty": {
        "GeocoderResponseMetaData": {
          "request": "Москва, правды, д",
          "results": "10",
          "found": "6"
        }
      },
      "featureMember": [{
          "GeoObject": {
            "metaDataProperty": {
              "GeocoderMetaData": {
                "precision": "street",
                "text": "Россия, Москва, улица Правды",
                "kind": "street",
                "Address": {
                  "country_code": "RU",
                  "formatted": "Россия, Москва, улица Правды",
                  "Components": [{
                      "kind": "country",
                      "name": "Россия"
                    },
                    {
                      "kind": "province",
                      "name": "Центральный федеральный округ"
                    },
                    {
                      "kind": "province",
                      "name": "Москва"
                    },
                    {
                      "kind": "locality",
                      "name": "Москва"
                    },
                    {
                      "kind": "street",
                      "name": "улица Правды"
                    }
                  ]
                },
                "AddressDetails": {
                  "Country": {
                    "AddressLine": "Россия, Москва, улица Правды",
                    "CountryNameCode": "RU",
                    "CountryName": "Россия",
                    "AdministrativeArea": {
                      "AdministrativeAreaName": "Москва",
                      "Locality": {
                        "LocalityName": "Москва",
                        "Thoroughfare": {
                          "ThoroughfareName": "улица Правды"
                        }
                      }
                    }
                  }
                }
              }
            },
            "name": "улица Правды",
            "description": "Москва, Россия",
            "boundedBy": {
              "Envelope": {
                "lowerCorner": "37.574507 55.782132",
                "upperCorner": "37.584766 55.791643"
              }
            },
            "Point": {
              "pos": "37.579888 55.786617"
            }
          }
        },
        {
          "GeoObject": {
            "metaDataProperty": {
              "GeocoderMetaData": {
                "precision": "other",
                "text": "Россия, Москва, Юго-Западный административный округ, район Южное Бутово, микрорайон Д",
                "kind": "district",
                "Address": {
                  "country_code": "RU",
                  "formatted": "Россия, Москва, Юго-Западный административный округ, район Южное Бутово, микрорайон Д",
                  "Components": [{
                      "kind": "country",
                      "name": "Россия"
                    },
                    {
                      "kind": "province",
                      "name": "Центральный федеральный округ"
                    },
                    {
                      "kind": "province",
                      "name": "Москва"
                    },
                    {
                      "kind": "locality",
                      "name": "Москва"
                    },
                    {
                      "kind": "district",
                      "name": "Юго-Западный административный округ"
                    },
                    {
                      "kind": "district",
                      "name": "район Южное Бутово"
                    },
                    {
                      "kind": "district",
                      "name": "микрорайон Д"
                    }
                  ]
                },
                "AddressDetails": {
                  "Country": {
                    "AddressLine": "Россия, Москва, Юго-Западный административный округ, район Южное Бутово, микрорайон Д",
                    "CountryNameCode": "RU",
                    "CountryName": "Россия",
                    "AdministrativeArea": {
                      "AdministrativeAreaName": "Москва",
                      "Locality": {
                        "LocalityName": "Москва",
                        "DependentLocality": {
                          "DependentLocalityName": "Юго-Западный административный округ",
                          "DependentLocality": {
                            "DependentLocalityName": "район Южное Бутово",
                            "DependentLocality": {
                              "DependentLocalityName": "микрорайон Д"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "name": "микрорайон Д",
            "description": "район Южное Бутово, Юго-Западный административный округ, Москва, Россия",
            "boundedBy": {
              "Envelope": {
                "lowerCorner": "37.536419 55.536298",
                "upperCorner": "37.543866 55.540419"
              }
            },
            "Point": {
              "pos": "37.540416 55.538728"
            }
          }
        },
        {
          "GeoObject": {
            "metaDataProperty": {
              "GeocoderMetaData": {
                "precision": "other",
                "text": "Россия, Ростовская область, Зерноградский район, хутор Путь Правды",
                "kind": "locality",
                "Address": {
                  "country_code": "RU",
                  "formatted": "Россия, Ростовская область, Зерноградский район, хутор Путь Правды",
                  "Components": [{
                      "kind": "country",
                      "name": "Россия"
                    },
                    {
                      "kind": "province",
                      "name": "Южный федеральный округ"
                    },
                    {
                      "kind": "province",
                      "name": "Ростовская область"
                    },
                    {
                      "kind": "area",
                      "name": "Зерноградский район"
                    },
                    {
                      "kind": "locality",
                      "name": "хутор Путь Правды"
                    }
                  ]
                },
                "AddressDetails": {
                  "Country": {
                    "AddressLine": "Россия, Ростовская область, Зерноградский район, хутор Путь Правды",
                    "CountryNameCode": "RU",
                    "CountryName": "Россия",
                    "AdministrativeArea": {
                      "AdministrativeAreaName": "Ростовская область",
                      "SubAdministrativeArea": {
                        "SubAdministrativeAreaName": "Зерноградский район",
                        "Locality": {
                          "LocalityName": "хутор Путь Правды"
                        }
                      }
                    }
                  }
                }
              }
            },
            "name": "хутор Путь Правды",
            "description": "Зерноградский район, Ростовская область, Россия",
            "boundedBy": {
              "Envelope": {
                "lowerCorner": "40.99946 46.921242",
                "upperCorner": "41.058048 46.948421"
              }
            },
            "Point": {
              "pos": "41.037207 46.926381"
            }
          }
        },
        {
          "GeoObject": {
            "metaDataProperty": {
              "GeocoderMetaData": {
                "precision": "other",
                "text": "Россия, Москва, Юго-Западный административный округ, район Южное Бутово, микрорайон Д1",
                "kind": "district",
                "Address": {
                  "country_code": "RU",
                  "formatted": "Россия, Москва, Юго-Западный административный округ, район Южное Бутово, микрорайон Д1",
                  "Components": [{
                      "kind": "country",
                      "name": "Россия"
                    },
                    {
                      "kind": "province",
                      "name": "Центральный федеральный округ"
                    },
                    {
                      "kind": "province",
                      "name": "Москва"
                    },
                    {
                      "kind": "locality",
                      "name": "Москва"
                    },
                    {
                      "kind": "district",
                      "name": "Юго-Западный административный округ"
                    },
                    {
                      "kind": "district",
                      "name": "район Южное Бутово"
                    },
                    {
                      "kind": "district",
                      "name": "микрорайон Д1"
                    }
                  ]
                },
                "AddressDetails": {
                  "Country": {
                    "AddressLine": "Россия, Москва, Юго-Западный административный округ, район Южное Бутово, микрорайон Д1",
                    "CountryNameCode": "RU",
                    "CountryName": "Россия",
                    "AdministrativeArea": {
                      "AdministrativeAreaName": "Москва",
                      "Locality": {
                        "LocalityName": "Москва",
                        "DependentLocality": {
                          "DependentLocalityName": "Юго-Западный административный округ",
                          "DependentLocality": {
                            "DependentLocalityName": "район Южное Бутово",
                            "DependentLocality": {
                              "DependentLocalityName": "микрорайон Д1"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "name": "микрорайон Д1",
            "description": "район Южное Бутово, Юго-Западный административный округ, Москва, Россия",
            "boundedBy": {
              "Envelope": {
                "lowerCorner": "37.534559 55.538667",
                "upperCorner": "37.537685 55.542034"
              }
            },
            "Point": {
              "pos": "37.535817 55.540261"
            }
          }
        },
        {
          "GeoObject": {
            "metaDataProperty": {
              "GeocoderMetaData": {
                "precision": "other",
                "text": "Россия, Москва, Юго-Восточный административный округ, район Печатники, микрорайон 34Д",
                "kind": "district",
                "Address": {
                  "country_code": "RU",
                  "formatted": "Россия, Москва, Юго-Восточный административный округ, район Печатники, микрорайон 34Д",
                  "Components": [{
                      "kind": "country",
                      "name": "Россия"
                    },
                    {
                      "kind": "province",
                      "name": "Центральный федеральный округ"
                    },
                    {
                      "kind": "province",
                      "name": "Москва"
                    },
                    {
                      "kind": "locality",
                      "name": "Москва"
                    },
                    {
                      "kind": "district",
                      "name": "Юго-Восточный административный округ"
                    },
                    {
                      "kind": "district",
                      "name": "район Печатники"
                    },
                    {
                      "kind": "district",
                      "name": "микрорайон 34Д"
                    }
                  ]
                },
                "AddressDetails": {
                  "Country": {
                    "AddressLine": "Россия, Москва, Юго-Восточный административный округ, район Печатники, микрорайон 34Д",
                    "CountryNameCode": "RU",
                    "CountryName": "Россия",
                    "AdministrativeArea": {
                      "AdministrativeAreaName": "Москва",
                      "Locality": {
                        "LocalityName": "Москва",
                        "DependentLocality": {
                          "DependentLocalityName": "Юго-Восточный административный округ",
                          "DependentLocality": {
                            "DependentLocalityName": "район Печатники",
                            "DependentLocality": {
                              "DependentLocalityName": "микрорайон 34Д"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "name": "микрорайон 34Д",
            "description": "район Печатники, Юго-Восточный административный округ, Москва, Россия",
            "boundedBy": {
              "Envelope": {
                "lowerCorner": "37.717447 55.691131",
                "upperCorner": "37.723654 55.695144"
              }
            },
            "Point": {
              "pos": "37.720699 55.693196"
            }
          }
        },
        {
          "GeoObject": {
            "metaDataProperty": {
              "GeocoderMetaData": {
                "precision": "other",
                "text": "Россия, Москва, Северный административный округ, Тимирязевский район, жилой комплекс Д1",
                "kind": "district",
                "Address": {
                  "country_code": "RU",
                  "formatted": "Россия, Москва, Северный административный округ, Тимирязевский район, жилой комплекс Д1",
                  "Components": [{
                      "kind": "country",
                      "name": "Россия"
                    },
                    {
                      "kind": "province",
                      "name": "Центральный федеральный округ"
                    },
                    {
                      "kind": "province",
                      "name": "Москва"
                    },
                    {
                      "kind": "locality",
                      "name": "Москва"
                    },
                    {
                      "kind": "district",
                      "name": "Северный административный округ"
                    },
                    {
                      "kind": "district",
                      "name": "Тимирязевский район"
                    },
                    {
                      "kind": "district",
                      "name": "жилой комплекс Д1"
                    }
                  ]
                },
                "AddressDetails": {
                  "Country": {
                    "AddressLine": "Россия, Москва, Северный административный округ, Тимирязевский район, жилой комплекс Д1",
                    "CountryNameCode": "RU",
                    "CountryName": "Россия",
                    "AdministrativeArea": {
                      "AdministrativeAreaName": "Москва",
                      "Locality": {
                        "LocalityName": "Москва",
                        "DependentLocality": {
                          "DependentLocalityName": "Северный административный округ",
                          "DependentLocality": {
                            "DependentLocalityName": "Тимирязевский район",
                            "DependentLocality": {
                              "DependentLocalityName": "жилой комплекс Д1"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "name": "жилой комплекс Д1",
            "description": "Тимирязевский район, Северный административный округ, Москва, Россия",
            "boundedBy": {
              "Envelope": {
                "lowerCorner": "37.577678 55.808184",
                "upperCorner": "37.579861 55.80914"
              }
            },
            "Point": {
              "pos": "37.57863 55.80871"
            }
          }
        }
      ]
    }
  }
}

const points = data.response.GeoObjectCollection.featureMember.map(m => m.GeoObject.Point);
console.log(points);

→ Ссылка