1

私はウォーキングしています(少なくとも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 の助けが必要なので、正しい形式でデータを送信できます。また、私がやっていることに対する他の解決策や提案も大歓迎です。

ありがとう

4

0 に答える 0