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文件相关推荐

  1. python json.load_python 读写json文件(dump, load),以及对json格式的数据处理(dumps, loads)...

    原博文 2018-04-22 09:11 − JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. 1.json.du ...

  2. python json loads_python 读写json文件(dump, load),以及对json格式的数据处理(dumps, loads)...

    JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. 1.json.dumps()和json.loads()是json ...

  3. java如何读写json文件

    java如何读写json文件 在实际项目开发中,有时会遇到一些全局的配置缓存,最好的做法是配置redis数据库作为数据缓存,而当未有配置redis服务器时,读取静态资源文件(如xml.json等)也是 ...

  4. java读写json格式的文件方法详解.txt,并批量存储进redis

    捐躯赴国难,视死忽如归.恸哭六军俱缟素,冲冠一怒为红颜.君子坦荡荡,小人长戚戚.风日晴和人意好,夕阳箫鼓几船归.民为贵,社稷次之,君为轻.Java 读写json格式的文件方法详解 文章录入:7747. ...

  5. python 读写json文件

    1. python中和json读写相关的主要是json模块的以下四个函数: dumps() 将一个python对象编码为json对象 loads() 讲一个json对象解析为python对象 dump ...

  6. Python csv、xlsx、json、二进制(MP3) 文件读写基本使用

    Python csv.xlsx.json.二进制(MP3) 文件读写基本使用 文章目录 Python csv.xlsx.json.二进制(MP3) 文件读写基本使用 前言 一.什么是文件读写? 二.文 ...

  7. C++读写Json文件

    Json库下载 Json文件是一种轻量级的数据交换格式,具体不在这介绍.对Json文件进行读写首先需要下载Json库.我使用的是rapidjson库. rapidjson库是腾讯的实现,网址在这htt ...

  8. json list格式_来来来,一文让你读懂Cocos Creator如何读写JSON文件

    前言 在游戏开发过程中,读取配置文件是必不可少的,而使用JSON做配置文件又比较常见,本文重点给大家讲述如何在Cocos Creator开发中读取和解析JSON数据文件以及如何写JSON文件. 一.J ...

  9. nodejs读取服务器json文件,nodejs读写json文件的简单方法(必看)

    nodejs 读json文件 var fs=reauire('fs'); var file="d:\0.json"; var result=JSON.parse(fs.readFi ...

最新文章

  1. x86架构手机_都是芯片,为什么电脑CPU不能用在手机里?
  2. SQL SERVER占用服务器内存过高的解决方案
  3. python序列类型-Python基础-序列类型的常用方法
  4. ASP.Net 页面和后台执行的先后顺序
  5. Spring boot切换日志框架
  6. ABAP--如何在选择屏幕上输出ALV GRID报表
  7. [vue] 什么是虚拟DOM?
  8. 终端服务器安全层在协议流中检测到错误,终端服务器安全层在协议流中检测到错误,并已取消客户端连接...
  9. 编辑流程图_流程图不会绘制?一分钟手把手教你学会,超简单
  10. golang 指针总结(与C/C++区别不大,就是不可以p+1偏移)
  11. java p2p编程_JXTA-JAVA P2P网络编程技术(入门篇)
  12. QCA-WIFI无线芯片介绍
  13. FANUC系统开发API(FOCAS2)pc应用开发,机加工领域
  14. c语言 printf 输出 long 整型
  15. 十大开源Web应用安全测试工具
  16. javascript将table的td变为可编辑的input,实现表格动态编辑(带示例版)
  17. c语言y为奇数的关系表达,设y是int型,请写出y为奇数的关系表达式
  18. 海康威视工业相机SDK二次开发环境配置—Windows10+VS2017
  19. docker 搭建Jenkins持续集成平台
  20. 【夜读】输与赢,在成长的面前都没那么重要

热门文章

  1. MacX DVD Ripper Pro for Mac(DVD解码器) 6.2.120190416免激活版
  2. java加权随机数抽奖_java版根据权重抽奖算法
  3. 怎么用IDEA快速查看类图关系
  4. 使用keil编译C8051f120单片机程序download按钮灰色
  5. VBI和Teletext关系
  6. 【学习点滴】c++类中虚表的内存分配,菱形继承
  7. Scala和Java混合项目搭建:(Eclipse)
  8. 信息技术导论 第三章 移动互联网技术 笔记
  9. 编辑MD文件的语法格式
  10. pyspark Dataframe添加一列常量列