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 ...
随机推荐
- Screeps ———— A MMO Strategy Sandbox Game for Programmers
At the beginning, let's see three of this game's captures. Yes, As what you see in these pictures, y ...
- OleDb Source component 用法
OleDb Source component 主要是从DB中获取数据,传递给下游组件,OleDb Source component的强大之处在于 query data 的mode有四种,如图 Tabl ...
- LINQ系列:LINQ to SQL Transact-SQL函数
1. CASE WHEN ... THEN ... var expr = from p in context.Products select new { 商品ID = p.ProductID, 商品名 ...
- 使用HTML5里的classList操作CSS类
在HTML5 API里,页面DOM里的每个节点上都有一个classList对象,程序员可以使用里面的方法新增.删除.修改节点上的CSS类.使用classList,程序员还可以用它来判断某个节点是否被赋 ...
- 引用类型-Function类型
Function类型 定义函数的三种方式: 1.函数声明 function sum(num1,num2){ return num1 +num2; } 2.函数表达式 var sum = functio ...
- 高级javascript---变量作用域
变量作用域 (JavaScript) JavaScript 有两个范围:全局和局部. 在函数定义之外声明的变量是全局变量,它的值可在整个程序中访问和修改. 在函数定义内声明的变量是局部变量. 每当执行 ...
- JDBC常用API小结
建立数据库链接的三种方式: package com.victor_01; import java.sql.Connection; import java.sql.Driver; import java ...
- C算法编程题(三)画表格
前言 上一篇<C算法编程题(二)正螺旋> 写东西前还是喜欢吐槽点东西,要不然写的真还没意思,一直的想法是在博客园把自己上学和工作时候整理的东西写出来和大家分享,就像前面写的<T-Sq ...
- spring源码分析之定时任务概述
Spring框架提供了TaskExcutor的异步执行和TashScheduler的任务定时执行接口,同样spring也提供了线程池或者CommonJ的代理. TaskExecutor的类型 Simp ...
- Zookeeper数据模型及其应用
Zookeeper作为分布式系统的底层协调服务有着其简单可依靠的数据模型,数据模型加之数据同步.一致性处理和可靠性,在此之上有很多经典的应用,例如,分布式锁.服务器动态上线下感知.主节点选举.数据发布 ...