Json.NET读取和写入Json文件
- 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 System.Text;
- using Newtonsoft.Json;
- using com.zjpx.model;
- using System.Collections;
- using Newtonsoft.Json.Converters;
- 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.NET读取和写入Json文件的更多相关文章
- python读取并写入mat文件
用matlab生成一个示例mat文件: clear;clc matrix1 = magic(5); matrix2 = magic(6); save matData.mat 用python3读取并写入 ...
- Asp.net读取和写入txt文件方法(实例)!
Asp.NET读取和写入txt文件方法(实例)! [程序第一行的引入命名空间文件 - 参考] System; using System.Collections; using System.Config ...
- java读取数据写入txt文件并将读取txt文件写入另外一个表
package com.xsw.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.F ...
- python读取和写入csv文件
读取csv文件: def readCsv(): rows=[] with file(r'E:\py\py01\Data\system.csv','rb') as f: reads=csv.reader ...
- C#读取和写入XML文件
关于xml是属于一个比较重要的东西,在平时开发的过程中,这块内容最主要的是要掌握XML内容的读取和写入操作. 一.什么是XML? XML 指可扩展标记语言(EXtensible Markup Lang ...
- python之读取和写入csv文件
写入csv文件源码: #输出数据写入CSV文件 import csv data = [ ("Mike", "male", 24), ("Lee&quo ...
- php下载文件,解压文件,读取并写入新文件
以下代码都是本人在工作中遇到的问题,并完成的具体代码和注释,不多说,直接上代码: <?php //组织链接 $dataurl = "http://118.194.2 ...
- C语言实现<读取>和<写入> *.ini文件(转)
原地址:https://blog.csdn.net/niha1993825jian/article/details/41086403 #include <stdio.h> #include ...
- Java——读取和写入txt文件
package com.java.test.a; import java.io.BufferedReader; import java.io.BufferedWriter; import java.i ...
随机推荐
- 谈谈关键字strictfp
Java语言中的其中一个设计目标是可移植性.无论在哪个虚拟机上运行,同一个计算应该得到同样的结果.对于浮点数的算术运算,实现这样的可移植性是相当困难的.double 类型使用 64 位存储一个 do ...
- Dnsmasq安装与配置
默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢.其次是部分网站域名不能正常 ...
- 深入理解javascript作用域系列第五篇——一张图理解执行环境和作用域
× 目录 [1]图示 [2]概念 [3]说明[4]总结 前面的话 对于执行环境(execution context)和作用域(scope)并不容易区分,甚至很多人认为它们就是一回事,只是高程和犀牛书关 ...
- iOS开发之地图与定位
无论是QQ还是微信的移动客户端都少不了定位功能,之前在微信demo中没有添加定位功能,今天就写个定位的小demo来了解一下定位和地图的东西.地图和定位看上去是挺高大上一东西,其实用法比TableVie ...
- mysql default unix_timestamp(now())
按照mssql的创建方式,去创建mysql的默认值时间戳是不能被允许的,例如下面代码: CREATE TABLE USERINFO( CREATETIME INT NOT NULL DEFAULT U ...
- JS只能输入数字,数字和字母等的正则表达式
1.只能输入英文 <input type="text" onkeyup="value=value.replace(/[^a-zA-Z]/g,'')"> ...
- h5直播开发之旅总结
前言 关于直播,有很多相关技术文章,这里不多说. 作为前端,我们比较关心我们所需要的. 直播的大致流程: APP端调用摄像头 -> 拍摄视频 -> 实时上传视频 -> 服务器端获取视 ...
- 重温Servlet学习笔记--servletContext对象
一个项目中只有一个ServletContext对象,我们可以在多个servlet中获取这个唯一的对象,使用它可以给多个servlet传递数据,我们通常成servletContext为上下文对象.这个对 ...
- 软件工程 Coding.net代码托管平台 Git初学者的使用总结 五步完成 程序,文件,文件夹的Git
一.前言 第一次用git相关的命令行,我使用的是Coding.net代码托管平台.Coding.net 自主打造的基于 Git 的代码托管平台,提供高性能的远端仓库,还有保护分支,历史版本分屏对比. ...
- 【集合框架】JDK1.8源码分析之Collections && Arrays(十)
一.前言 整个集合框架的常用类我们已经分析完成了,但是还有两个工具类我们还没有进行分析.可以说,这两个工具类对于我们操作集合时相当有用,下面进行分析. 二.Collections源码分析 2.1 类的 ...