2016-10-20 3 views
2

Если у меня есть JSON файлDeserialize Json к классу

{ 
    "firstName": "John", 
    "lastName": "Smith", 
    "age": 25, 
    "address": 
    { 
     "streetAddress": "21 2nd Street", 
     "city": "New York", 
     "state": "NY", 
     "postalCode": "10021" 
    }, 
    "phoneNumber": 
    [ 
     { 
      "type": "home", 
      "number": "212 555-1234" 
     }, 
     { 
      "type": "fax", 
      "number": "646 555-4567" 
     } 
    ] 
} 

, Я хочу использовать сериализатор. Я понимаю, что мне нужно создать класс, соответствующий категории JSON.

Так что я создал это:

class Person 
{ 

    public String firstName; 
    public String lastName; 
    public String age; 
    public class address 
    { 
     public String streetAddress; 
     public String city; 
     public String state; 
     public String postalCode; 
    } 
    public class phoneNumber 
    { 
     public String type; 
     public String number; 
    } 

} 

Он отлично работает с возрастом и именем, но не с адресом и PHONENUMBER (я din't знаю, как их создающих файл класса). Надеюсь, вы можете мне помочь.

+0

Все ответы одинаковы, но я предполагаю, что это хорошо. lol Считает ли это, что я был первым? –

ответ

1

Via http://json2csharp.com/

public class Address 
{ 
    public string streetAddress { get; set; } 
    public string city { get; set; } 
    public string state { get; set; } 
    public string postalCode { get; set; } 
} 

public class PhoneNumber 
{ 
    public string type { get; set; } 
    public string number { get; set; } 
} 

public class Person 
{ 
    public string firstName { get; set; } 
    public string lastName { get; set; } 
    public int age { get; set; } 
    public Address address { get; set; } 
    public List<PhoneNumber> phoneNumber { get; set; } 
} 
0

Вы не создавали свойства для адреса и номер телефона. Для размещения данных в этом свойстве должно быть целевое свойство.

Что-то вроде этого:

class Person 
{ 
    public string firstName { get; set; } 
    public string lastName { get; set; } 
    public int age { get; set; } 
    public Address address { get; set; } // here 
    public IEnumerable<PhoneNumber> phoneNumber { get; set; } // and here 

    public class Address { /.../ } 
    public class PhoneNumber { /.../ } 
} 
+0

Спасибо всем. Теперь я понимаю. Проблема, с которой я сталкиваюсь, состоит в том, что у меня есть 4 файла JSON каждый по 500-800 МБ. Как я могу работать с этими файлами? –

+0

@RonF: Это звучит как отдельный несвязанный вопрос, который, вероятно, заслуживает собственного сообщения о переполнении стека. Вы хотите уточнить, что вы пробовали, и с какой проблемой вы столкнулись. Обычно большие файлы работают так же, как небольшие файлы, просто с большим количеством данных. – David

+0

Спасибо. Я буду искать об этом –

0

Используйте методы получения и установки

public class Person 
{ 
public string firstName { get; set; } 
public string lastName { get; set; } 
public int age { get; set; } 
public Address address { get; set; } 
} 
public class Address 
{ 
public string streetAddress { get; set; } 
public string city { get; set; } 
public string state { get; set; } 
public string postalCode { get; set; } 
} 
public class PhoneNumber 
{ 
public string type { get; set; } 
public string number { get; set; } 
}