json逆シーケンス化

2451 ワード

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using uzai.tools;
using Newtonsoft.Json;

namespace CodeTest.test8
{
    public partial class WebForm3 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //json     1
            string jsonString1 = "{\"Age\":28,\"Name\":\"  \"}";
            Person p1 = JsonHelper.JsonDeserialize<Person>(jsonString1);

            //json     2
            string jsonString = "[{treeId:13938,treeName:\"     \"},{treeId:19955,treeName:\"   \",imgId:19603,imgName:\"   \"},{treeId:17929,treeName:\"      \"}]";
            List<tree> p = Newtonsoft.Json.JsonConvert.DeserializeObject<List<tree>>(jsonString);
        }

        

       public class Person
       {
            public int Age { get; set; }

            public string Name { get; set; }

        }

        public class tree
        {

            public int treeId { get; set; }

            public string treeName { get; set; }

            public int imgId { get; set; }

            public string imgName { get; set; }

        }


    }
}

方法1使用するJsonhelper
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.Serialization.Json; using System.IO; namespace uzai.tools{/////JSONシーケンス化と逆シーケンス化補助クラス//public class JsonHelper{/////JSONシーケンス化//public static string JsonSerializer(T){             DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));             MemoryStream ms = new MemoryStream();             ser.WriteObject(ms, t);             string jsonString = Encoding.UTF8.GetString(ms.ToArray());             ms.Close();             return jsonString; }///////JSON逆シーケンス化//public static T JsonDeserialize(string jsonString){DataContractJsonSerializer ser=new DataContractJsonSerializer(typeof(T));             MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));             T obj = (T)ser.ReadObject(ms);             return obj;         }     } }
方法2 Newtonsoftを引用する必要がある.Json.dll
ダウンロード先:
http://download.csdn.net/detail/suntanyong88/7335929