Как преобразовать массив Json в объект Single JSON без использования объекта T в C#? - PullRequest
0 голосов
/ 08 мая 2020

Я ищу однострочник, который преобразует массив Json [{}, {}] в object => [{}].

У меня есть следующая сериализованная строка JSON,

 [
  {
    "Address": "Adresse"
  },
  {
    "AddressDetails": "Détails de l'adresse"
  },
  {
    "BackToLoginPage": "Retour à la page de connexion"
  }
]

Теперь я хочу преобразовать это в следующий формат без использования одного типа или объекта модели, потому что данные - это динамические c и они будут содержать 1000 полей, поэтому я не могу создать объект типа модели со свойствами Dynami c. Так есть ли идея преобразовать его в один единственный объект / строку JSON? Выглядит просто, но преобразовать не удалось.

[
    "Address": "Adresse",      
    "AddressDetails": "Détails de l'adresse",      
    "BackToLoginPage": "Retour à la page de connexion"
]

1 Ответ

2 голосов
/ 08 мая 2020

Newtonsoft. Json .Linq может анализировать / обрабатывать JSON без модели (JObject / JArray). Вот один лайнер:

var mergedJson = new JObject(JArray.Parse(json).OfType<JObject>().SelectMany(o => o.Properties()).GroupBy(p => p.Name).Select(grp => grp.First())).ToString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...