Mam klasy o nazwie DataItem, z trzema właściwościami: Id, DataValue i CreatedDateTime. Właściwości są zdefiniowane w klasie w tej kolejności od góry do dołu. To jest także kolejność, którą chciałbym zobaczyć właściwości w moim eksporcie JSON. Problemem są właściwości obiektu DataItem, a eksport JSON są sortowane w kolejności alfabetycznej. Chociaż nie ma nic złego pod względem technicznym w tym formacie, jest to kwestia czytelności. Jak kontrolować kolejność właściwości w eksporcie JSON?Jak kontrolować kolejność właściwości w moim wyjściu JSON?
Sprawdziłem element dataItem wen, a właściwości są wymienione w kolejności alfabetycznej. Jest to w porządku, rozumiem potencjalne problemy z użytecznością nie sortowania właściwości alfabetycznie.
public static List<DataItem>GetAllDataItems()
{
List<DataItem> dataItems = new List<DataItem>();
SqlConnection conn = NetduinoDb.GetConnection();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "Select Id, DataValue, CreatedDateTime from XXX";
cmd.CommandType = CommandType.Text;
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
DataItem dataItem = new DataItem
{
Id = reader["Id"].ToString(),
DataValue = reader["DataValue"].ToString(),
CreatedDateTime = reader["CreatedDateTime"].ToString()
};
dataItems.Add(dataItem);
}
reader.Close();
conn.Close();
return dataItems.ToList();
}
Ta metoda jest w mojej implementacji usług i zwraca listę DataItems. Myślę, że muszę coś tu zrobić, ale nie wiem, co i jak.
public List<DataItem> GetCollection()
{
return DataRetriever.GetAllDataItems();
}
Dlaczego pokazuje nam się dużo nieistotnego kodu i nie pokazuje kodu, który ma znaczenie, tj. W którym serializuje się obiekt do JSON? Dlaczego zamówienie ma dla Ciebie znaczenie? JSON jest przeznaczony przede wszystkim do czytania przez inne programy, nie przez ludzi. – svick
@svick - Nie ma zbyt wiele kodu do wyświetlenia. Niezależnie od tego, czy jest to istotne, czy nie, właśnie to mamy. Nie serializuję niczego, więc nic do pokazania. Jeśli chodzi o zamówienie, to właśnie tego chcemy. Spójrz na Szablon Wielozadaniowy REST WCF, ponieważ w zasadzie to właśnie robimy. – DenaliHardtail
możliwy duplikat [zamówienia WCF DataContract DataMember?] (Http://stackoverflow.com/questions/3816478/wcf-datacontract-datamember-order) – JNF