Создайте класс для представления внутренних объектов JSON:
public class RootObject
{
public string Key { get; set; }
public string Text { get; set; }
}
Затем десериализуйте массив JSON в List<RootObject>
, используя Json. NET, спроецировать объект key
и text
на пары значений ключа внутри Dictionary<string, string>
, используя Enumerable.Select
, затем сериализовать результат как List<Dictionary<string, string>>
.
using Newtonsoft.Json;
...
var json = @"[{""key"": ""CreateAccount"",""text"": ""Create Account""},{""key"": ""EmailAddress"",""text"": ""Email Address""}]";
var deserializedJson = JsonConvert
.DeserializeObject<List<RootObject>>(json);
var result = deserializedJson
.Select(obj => new Dictionary<string, string> {
{ obj.Key, obj.Text }
})
.ToList();
var serializedJson = JsonConvert.SerializeObject(result, Formatting.Indented);
Console.WriteLine(serializedJson);
Вывод:
[
{
"CreateAccount": "Create Account"
},
{
"EmailAddress": "Email Address"
}
]