Десериализация объекта JSON в список .NET - PullRequest
2 голосов
/ 16 февраля 2012

JSON создается на Java с использованием сериализатора JAXB Джерси.Мне нужно десериализовать его в приложении .NET.Проблема в сериализованных массивах: если массив содержит несколько элементов, объект JSON выглядит так:

{"users":[{"name":"user1", "email":"user1@email.com"},{"name":"user2", "email":"user2@email.com"}]}

, но когда объект содержит только один элемент, он сериализуется как простой объект

{"users":{"name":"user1", "email":"user1@email.com"}}

Я хочу десериализовать его в объект .NET.

public class UserList{
   public List<User> users {get;set;}
}
public class User{
   public string name {get;set;}
   public string email {get;set;}
}

Стандартный десериализатор .NET не понимает случай second .Я пробовал десериализатор JSON.NET по умолчанию, но он выдает исключение.Может быть, это нужно правильно настроить? .. Можете ли вы предложить что-то, как бороться с первым и вторым случаями.PS У меня нет доступа к сериализатору Java

Ответы [ 2 ]

2 голосов
/ 16 февраля 2012

В Json.Net вы можете создать собственный конвертер, который может обрабатывать JSON следующим образом.

Посмотрите на Десериализацию JSON, когда иногда массив, а иногда объект , как именно это сделать.

0 голосов
/ 16 февраля 2012

Я использовал Newtonsoft.JSON для этой цели, и он отлично справился с сериализацией коллекций. Попробуй.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...