Id、DataValue、およびCreatedDateTimeの3つのプロパティを持つDataItemという名前のクラスがあります。プロパティは、上から下の順にクラス内で定義されます。これは、JSONエクスポートのプロパティを表示する順序です。問題はDataItemオブジェクトとJSONエクスポートのプロパティがアルファベット順にソートされていることです。このフォーマットには技術的に間違ったことはありませんが、それは読みやすさの問題です.JSONのエクスポートでプロパティの順序を制御するにはどうすればよいですか?JSON出力のプロパティの順序を制御するにはどうすればよいですか?
インスタンス化されたdataItemがチェックされ、プロパティがアルファベット順にリストされています。これは大丈夫です、私は、アルファベット順のプロパティをソートしないというユーザビリティの潜在的な問題を理解しています。
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();
}
このメソッドはサービス実装であり、DataItemのリストを返します。私はここで何かをする必要があると思っていますが、何がどのようにするかはわかりません。
public List<DataItem> GetCollection()
{
return DataRetriever.GetAllDataItems();
}
なぜ無関係のコードがたくさん表示され、重要なコード(JSONにオブジェクトをシリアル化する場所)が表示されないのですか?また、注文はなぜあなたにとって重要なのでしょうか? JSONは主に、人間ではなく他のプログラムによって読み込まれることを意図しています。 – svick
@svick - 表示するコードはあまりありません。それが関連しているかどうかにかかわらず、それは私たちが持っているものです。私はそこに何も見せないために何かを連載していません。注文に関する限り、それは私たちが欲しいものです。基本的にはWCF RESTマルチプロジェクトテンプレートを見てください。 – DenaliHardtail
[WCF DataContract DataMember order?]の可能な複製?(http://stackoverflow.com/questions/3816478/wcf-datacontract-datamember-order) – JNF