码迷,mamicode.com
首页 > Web开发 > 详细

Json文件读写

时间:2017-09-10 21:49:26      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:file_path   filename   response   catch   nbsp   构建   try   iter   system   

namespace web
{
    public partial class testJson : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            ConfigFileModel cfm = new ConfigFileModel();  //实体模型类
            cfm.CreateDate = "2012-02-23";
            cfm.FileName = "test.txt";

            //可以操作集合
            Hashtable ht = new Hashtable();
            ht.Add("hs_name", "alex");
            ht.Add("hs_pwd", "ggg");

            //序列化
            string js1 = JsonConvert.SerializeObject(cfm);
            string js2 = JsonConvert.SerializeObject(ht);
            Response.Write(js1);
            Response.Write("<br/>");
            Response.Write(js2);
            //"{\"FileName\":\"test.txt\",\"CreateDate\":\"2012-02-23\"}"
            //"{\"hs_pwd\":\"ggg\",\"hs_name\":\"alex\"}"

            //反序列化
            ConfigFileModel debc1 = JsonConvert.DeserializeObject<ConfigFileModel>(js1);
            ConfigFileModel debc2 = JsonConvert.DeserializeObject<ConfigFileModel>(js2);

            //找到服务器物理路径
            //string serverAppPath = Request.PhysicalApplicationPath.ToString();
            string serverAppPath = @"d:\";
            //构成配置文件路径
            string con_file_path =@""+ serverAppPath + @"config.json";


            if (!File.Exists(con_file_path))
            {
                File.Create(con_file_path);
            }

	    //把模型数据写到文件
            using (StreamWriter sw = new StreamWriter(con_file_path))
            {
                try
                {

                    JsonSerializer serializer = new JsonSerializer();
                    serializer.Converters.Add(new JavaScriptDateTimeConverter());
                    serializer.NullValueHandling = NullValueHandling.Ignore;

                    //构建Json.net的写入流
                    JsonWriter writer = new JsonTextWriter(sw);
                    //把模型数据序列化并写入Json.net的JsonWriter流中
                    serializer.Serialize(writer, cfm);
                    //ser.Serialize(writer, ht);
                    writer.Close();
                    sw.Close();

                }

  	    }
            catch (Exception ex)
            {
                ex.Message.ToString();
            }

  			 //读取json文件
             using (StreamReader sr = new StreamReader(con_file_path))
             {
  		  try
                  {
                      JsonSerializer serializer = new JsonSerializer();
                      serializer.Converters.Add(new JavaScriptDateTimeConverter());
                      serializer.NullValueHandling = NullValueHandling.Ignore;

                      //构建Json.net的读取流
                      JsonReader reader = new JsonTextReader(sr);
                      //对读取出的Json.net的reader流进行反序列化,并装载到模型中
                      cfm = serializer.Deserialize<ConfigFileModel>(reader);

                      Response.Write("<br/>");
                      Response.Write(cfm.FileName+", "+cfm.CreateDate);
  		  }
                  catch (Exception ex)
                  {
                      ex.Message.ToString();
                  }
              }

        }
    }

    public class ConfigFileModel
    {
        public ConfigFileModel() { }

        string _fileName;

        public string FileName
        {
            get { return _fileName; }
            set { _fileName = value; }
        }
        string _createDate;

        public string CreateDate
        {
            get { return _createDate; }
            set { _createDate = value; }
        }
    }
}

 

Json文件读写

标签:file_path   filename   response   catch   nbsp   构建   try   iter   system   

原文地址:http://www.cnblogs.com/cts0907/p/7502149.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!