Я застрял при возврате результата api, у меня есть класс вроде
public partial class Sample
{
[JsonProperty("classificator")]
public List<Classificator> Classificator { get; set; }
}
public partial class Classificator
{
[JsonProperty("Value")]
public string Value { get; set; }
[JsonProperty("Description")]
public string Description { get; set; }
}
Скажем, метод GetJson извлекает наши данные из базы данных, есть 2 записи и такие данные, как
- Значение - Описание
1- А - АХА
2- B - BXA
response = GetJson(); // this method gets data from db
return Content(HttpStatusCode.OK, response);
когда я возвращаю это, это похоже на
{
"classificator": [{
"Value": "A",
"Description": "AXA"
}, {
"Value": "B",
"Description": "BXA"
}
]
}
но я бы хотел увидеть, я хочу увидеть ревущий результат;
{
"classificator": [{
"A": "AXA"
}, {
"B" : "BXA"
}
]
}
Я хотел бы спросить вас, может быть, кто-то знает об этом хорошую практику или документ (учебник).
Я решаю это с помощью, Словарь <строка, модель>
но мне нужно вернуть огромное вложенное поле, я не могу реализовать это решение для всех разных узлов.
дайте мне знать, когда найдете ответ айварас :-)
@EgeTuncoz конечно.
Что это за огромное вложенное поле?





Решил с помощью Словарь <строка, объект>
Я помещаю 2 вложенных объекта внутрь значения объекта. В моем случае это выглядело сложным, я рефакторинг и пытаюсь работать с читаемой иерархией словарей.
в основном для этого примера это что-то вроде ниже,
Dictionary<string, object> fooDict = new Dictionary<string, object>();
fooDict.Add("A", "AXA"); // in my case I put 2 nested object to value field
fooDict.Add("B", "BXA");
var serializedObject = JsonConvert.SerializeObject(fooDict);
using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\xxx\result.txt", true))
{
file.WriteLine(serializedObject);
}
может кастомный конвертер newtonsoft.com/json/help/html/CustomJsonConverter.htm или newtonsoft.com/json/help/html/CustomJsonConverterGeneric.htm?