0
Answered

Метод api.Clean<AddressData>(inputs) на C# почему-то возвращает не все параметры

Anonymous 4 years ago updated by Антон 4 years ago 7
Попадают только в таком варианте:
[AddressData: source=Москва Милютинский 13, region=Москва, area=, city=, settlement=, street=Милютинский, house=13, qc=0]

Under review
Простите, я не понял, что не так. Что вы ожидаете получить?
В примере по API через curl был показан такой результат:
[
{
"source": "мск сухонска 11/-89",
"result": "Россия, г Москва, ул Сухонская, д 11, кв 89",
"postal_code": "127642",
"country": "Россия",
"region_type": "г",
"region_type_full": "город",
"region": "Москва",
"area_type": null,
"area_type_full": null,
"area": null,
"city_type": null,
"city_type_full": null,
"city": null,
"settlement_type": null,
"settlement_type_full": null,
"settlement": null,
"street_type": "ул",
"street_type_full": "улица",
"street": "Сухонская",
"house_type": "д",
"house_type_full": "дом",
"house": "11",
"block_type": null,
"block_type_full": null,
"block": null,
"flat_type": "кв",
"flat": "89",
"postal_box": null,
"kladr_id": "7700000000028360004",
"fias_id": "5ee84ac0-eb9a-4b42-b814-2f5f7c27c255",
"okato": "45280583000",
"oktmo": "45362000",
"tax_office": "7715",
"tax_office_legal": null,
"flat_area": "34.60",
"square_meter_price": "198113",
"flat_price": "6854710",
"timezone": "UTC+3",
"geo_lat": "55.878312394296344",
"geo_lon": "37.653955376263",
"qc_geo": 0,
"qc_complete": 0,
"qc_house": 2,
"qc": 0,
"unparsed_parts": null
}
]
Это строковое представление объекта:
[AddressData: source=Москва Милютинский 13, region=Москва, area=, city=, settlement=, street=Милютинский, house=13, qc=0]

Сам объект содержит намного больше полей. Но не все, что перечислены на сайте. Нет полей result, block_type_full, fias_id, tax_office_legal, square_meter_price, flat_price, timezone, geo_lat, geo_lon, qc_geo. Остальные есть.
А как к нему обратиться, чтобы получить все описанные в примере параметры за исключением указанных Вами?
CleanRequest?
Например:
var cleaned = api.Clean<AddressData>(new string[] { "Москва Милютинский 13", "Питер Восстания 1" });
foreach (AddressData address in cleaned) {
    Console.WriteLine(address.kladr_id);
}
Да, спасибо, уже разобрался!)