Json.NET读写Json文件
Json文件的写入读取
采用的Json.NET提供的API。
http://james.newtonking.com/projects/json-net.aspx
http://www.codeplex.com/json/
以下是demo代码
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 json.load_python 读写json文件(dump, load),以及对json格式的数据处理(dumps, loads)...
原博文 2018-04-22 09:11 − JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. 1.json.du ...
- python json loads_python 读写json文件(dump, load),以及对json格式的数据处理(dumps, loads)...
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. 1.json.dumps()和json.loads()是json ...
- java如何读写json文件
java如何读写json文件 在实际项目开发中,有时会遇到一些全局的配置缓存,最好的做法是配置redis数据库作为数据缓存,而当未有配置redis服务器时,读取静态资源文件(如xml.json等)也是 ...
- java读写json格式的文件方法详解.txt,并批量存储进redis
捐躯赴国难,视死忽如归.恸哭六军俱缟素,冲冠一怒为红颜.君子坦荡荡,小人长戚戚.风日晴和人意好,夕阳箫鼓几船归.民为贵,社稷次之,君为轻.Java 读写json格式的文件方法详解 文章录入:7747. ...
- python 读写json文件
1. python中和json读写相关的主要是json模块的以下四个函数: dumps() 将一个python对象编码为json对象 loads() 讲一个json对象解析为python对象 dump ...
- Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
Python csv.xlsx.json.二进制(MP3) 文件读写基本使用 文章目录 Python csv.xlsx.json.二进制(MP3) 文件读写基本使用 前言 一.什么是文件读写? 二.文 ...
- C++读写Json文件
Json库下载 Json文件是一种轻量级的数据交换格式,具体不在这介绍.对Json文件进行读写首先需要下载Json库.我使用的是rapidjson库. rapidjson库是腾讯的实现,网址在这htt ...
- json list格式_来来来,一文让你读懂Cocos Creator如何读写JSON文件
前言 在游戏开发过程中,读取配置文件是必不可少的,而使用JSON做配置文件又比较常见,本文重点给大家讲述如何在Cocos Creator开发中读取和解析JSON数据文件以及如何写JSON文件. 一.J ...
- nodejs读取服务器json文件,nodejs读写json文件的简单方法(必看)
nodejs 读json文件 var fs=reauire('fs'); var file="d:\0.json"; var result=JSON.parse(fs.readFi ...
最新文章
- x86架构手机_都是芯片,为什么电脑CPU不能用在手机里?
- SQL SERVER占用服务器内存过高的解决方案
- python序列类型-Python基础-序列类型的常用方法
- ASP.Net 页面和后台执行的先后顺序
- Spring boot切换日志框架
- ABAP--如何在选择屏幕上输出ALV GRID报表
- [vue] 什么是虚拟DOM?
- 终端服务器安全层在协议流中检测到错误,终端服务器安全层在协议流中检测到错误,并已取消客户端连接...
- 编辑流程图_流程图不会绘制?一分钟手把手教你学会,超简单
- golang 指针总结(与C/C++区别不大,就是不可以p+1偏移)
- java p2p编程_JXTA-JAVA P2P网络编程技术(入门篇)
- QCA-WIFI无线芯片介绍
- FANUC系统开发API(FOCAS2)pc应用开发,机加工领域
- c语言 printf 输出 long 整型
- 十大开源Web应用安全测试工具
- javascript将table的td变为可编辑的input,实现表格动态编辑(带示例版)
- c语言y为奇数的关系表达,设y是int型,请写出y为奇数的关系表达式
- 海康威视工业相机SDK二次开发环境配置—Windows10+VS2017
- docker 搭建Jenkins持续集成平台
- 【夜读】输与赢,在成长的面前都没那么重要