Создайте детали соответствия объекта для десериализованного ответа json - PullRequest
0 голосов
/ 19 февраля 2011

Я пытаюсь десериализовать сложный объект, который возвращается API Yahoo, но я не очень экспериментировал.Я создал базовый объект, но не соответствует деталям моего десериализованного JSON.Может кто-нибудь помочь мне построить правильный объект, который будет соответствовать возвращенному элементу в этом ответе json после десериализации.Здесь Json и мой основной объект не совпадают детали.Спасибо.

/*
# {  
# "places":{  
#   "place":[  
#     {  
#       "woeid":12521721,  
#       "placeTypeName":"Airport",  
#       "placeTypeName attrs":{  
#         "code":14 },  
#       "name":"San Francisco International Airport",  
#       "country":"United States",  
#       "country attrs":{  
#         "type":"Country",  
#         "code":"US" },  
#       "admin1":"California",  
#       "admin1 attrs":{  
#         "type":"State",  
#         "code":"US-CA" },  
#       "admin2":"San Mateo",  
#       "admin2 attrs":{  
#         "type":"County",  
#         "code":"" },  
#       "admin3":"",  
#       "locality1":"Millbrae",  
#       "locality1 attrs":{  
#         "type":"Town" },  
#       "locality2":"",  
#       "postal":"94128",  
#       "postal attrs":{  
#         "type":"Zip Code" },  
#       "centroid":{  
#         "latitude":37.614712,  
#         "longitude":-122.391808 },  
#       "boundingBox":{  
#         "southWest":{  
#           "latitude":37.601822,  
#           "longitude":-122.408089 },  
#         "northEast":{  
#         "latitude":37.627602,  
#         "longitude":-122.375526 } },  
#       "uri":"http:\/\/where.yahooapis.com\/v1\/place\/12521721",  
#       "lang":"en-us" } ],  
#   "start":0,  
#   "count":1,  
#   "total":1 } }       
*/

Базовый объект

public class YahooPlace
{
    public string woeid
    {
        get { return this._woeid; }
        set { this._woeid = value; }
    }
    public string placeTypeName
    {
        get { return this._placeTypeName; }
        set { this._placeTypeName = value; }
    }
    public string placeTypeName_attrs
    {
        get { return this._placeTypeName_attrs; }
        set { this._placeTypeName_attrs = value; }
    }
    public string country
    {
        get { return this._country; }
        set { this._country = value; }
    }
    public string country_attrs
    {
        get { return this._country_attrs; }
        set { this._country_attrs = value; }
    }
    public string admin1
    {
        get { return this._admin1; }
        set { this._admin1 = value; }
    }
    public string admin1_attrs
    {
        get { return this._admin1_attrs; }
        set { this._admin1_attrs = value; }
    }
    public string admin2
    {
        get { return this._countryCode; }
        set { this._countryCode = value; }
    }
    public string admin2_attrs
    {
        get { return this._admin2_attrs; }
        set { this._admin2_attrs = value; }
    }
    public string admin3
    {
        get { return this._admin3; }
        set { this._admin3 = value; }
    }
    public string locality1
    {
        get { return this._locality1; }
        set { this._locality1 = value; }
    }
    public string locality1_attrs
    {
        get { return this._locality1_attrs; }
        set { this._locality1_attrs = value; }
    }
    public string locality2
    {
        get { return this._locality2; }
        set { this._locality2 = value; }
    }
    public string postal
    {
        get { return this._postal; }
        set { this._postal = value; }
    }
    public string postal_attrs
    {
        get { return this._postal_attrs; }
        set { this._postal_attrs = value; }
    }
    public string centroid
    {
        get { return this._centroid; }
        set { this._centroid = value; }
    }
    public string boundingBox
    {
        get { return this._boundingBox; }
        set { this._boundingBox = value; }
    }
    public string uri
    {
        get { return this._uri; }
        set { this._uri = value; }
    }
    public string lang
    {
        get { return this._lang; }
        set { this._lang = value; }
    }

    private string _admin1_attrs,_admin2_attrs, _admin3, _locality1, _locality1_attrs, _locality2, _postal, _postal_attrs, _centroid, _lang, _uri, _boundingBox, _countryCode, _admin1, _country_attrs, _country, _placeTypeName_attrs, _placeTypeName, _woeid;

}

1 Ответ

0 голосов
/ 19 февраля 2011

Он возвращает коллекцию мест, вы это учитываете? Также вы можете попробовать что-то вроде этого и посмотреть, что это генерирует. http://jsonclassgenerator.codeplex.com/

...