私はウォーキングしています(少なくともxDを試しています)DataContractJsonSerializer
。オブジェクトのリストをjsonにシリアル化する必要があります。これまでのところ、次のようになっています。
List<clsPerson> lstPerson = GetSomeDATA
var jsonData = new List<Object>();
var lstObjects = new List<Object>();
lstObjects.AddRange(lstPerson);
jsonData.Add(new
{
code = "123456789",
data = lstObjects
//data = new String[] {"123","123"}
}
);
DataContractJsonSerializer dser = new DataContractJsonSerializer(typeof(List<temp>));
using (MemoryStream ms = new MemoryStream())
{
dser.WriteObject(ms, lstObjects);
String datos = Encoding.Default.GetString(ms.ToArray());
}
この後、シリアル化されたデータを WCF サービスに送信する予定です。実際、最初に次のコードを使用しました。
JavaScriptSerializer ser = new JavaScriptSerializer();
string datos = ser.Serialize(jsonData);
datos = datos.Remove(0, 1);
datos = datos.Remove(datos.Length-1, 1);
using (var writer = new StreamWriter(request.GetRequestStream()))
{
dser.WriteObject(writer.BaseStream, jsonData);
writer.WriteLine(datos);
}
しかし、それを Web サービスに送信しようとすると、結果の json 文字列には (データ型として) this : "CreationDate":"\/Date(-62135596800000)\/"
.
したがって、 DataContractJsonSerializer の助けが必要なので、正しい形式でデータを送信できます。また、私がやっていることに対する他の解決策や提案も大歓迎です。
ありがとう