c# を使用して asp.net でこの json 配列を解析したい これは、解析するサンプルの Json データです。
[
{
"idvisit":"3",
"iduser":"shoaibshakeel",
"idpage":"1",
"pagetime":"0"
},
{
"idvisit":"4",
"iduser":"shoaibshakeel",
"idpage":"2",
"pagetime":"28"
},
{
"idvisit":"5",
"iduser":"shoaibshakeel",
"idpage":"3",
"pagetime":"0"
}
]
これは私が現在コードファイルで行っていることです:
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string jsonData = Request.Form[0];
Response.Write(jsonData);
Response.Write("<br/>");
PiwikDbData[] visitlist;
//deserialize json array
using (MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(jsonData)))
{
DataContractSerializer serializer = new DataContractSerializer(typeof(PiwikDbData));
visitlist = serializer.ReadObject(stream) as PiwikDbData[];
}
Response.Write(visitlist.Length);
}
}
[DataContract]
class PiwikDbData
{
[DataMember(Name = "idvisit", IsRequired = true)]
public int idvisit;
[DataMember(Name = "iduser", IsRequired = true)]
public string iduser;
[DataMember(Name = "idpage", IsRequired = true)]
public int idpage;
[DataMember(Name = "pagetime", IsRequired = true)]
public int pageTime;
}
私はここで何を間違っていますか。ヘルプで「ルート レベルのデータが無効です」と表示visitlist = serializer.ReadObject(stream) as PiwikDbData[];
されます。ありがとう。