cpp用时间长了,换换新口味,写写C#。这是使用C#读写json文件的笔记。

创建新工程:

添加NuGet包:

下载安装:

程序包安装完成:

拖两个按钮出来:

重要的:

using System.IO;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

添加Hunter类:

    public partial class Hunter{public string system;public List<string> arrCharacter = new List<string>();}

write:

        //writeprivate void button1_Click(object sender, EventArgs e){try{// 创建对象 JObject jsObj = new JObject();jsObj.Add("career", "hunter");JObject jsSystem = new JObject();jsSystem.Add("name", "name");jsSystem.Add("count", 999);jsSystem.Add("unique", false);JArray jsArraySys0 = new JArray();JObject jsSys1 = new JObject();jsSys1.Add("system_name", "强化系");JArray jsArraySys1 = new JArray();jsArraySys1.Add(new JValue("Gon"));jsArraySys1.Add(new JValue("雷欧力"));jsArraySys1.Add(new JValue("窝金"));jsSys1.Add("character", jsArraySys1);jsArraySys0.Add(jsSys1);JObject jsSys2 = new JObject();jsSys2.Add("system_name", "变化系");JArray jsArraySys2 = new JArray();jsArraySys2.Add(new JValue("Killua"));jsArraySys2.Add(new JValue("西索"));jsSys2.Add("character", jsArraySys2);jsArraySys0.Add(jsSys2);JObject jsSys3 = new JObject();jsSys3.Add("system_name", "操作系");JArray jsArraySys3 = new JArray();jsArraySys3.Add(new JValue("侠客"));jsArraySys3.Add(new JValue("半藏"));jsSys3.Add("character", jsArraySys3);jsArraySys0.Add(jsSys3);JObject jsSys4 = new JObject();jsSys4.Add("system_name", "具现化系");JArray jsArraySys4 = new JArray();jsArraySys4.Add(new JValue("Kula"));jsArraySys4.Add(new JValue("库哔"));jsArraySys4.Add(new JValue("小嘀"));jsSys4.Add("character", jsArraySys4);jsArraySys0.Add(jsSys4);JObject jsSys5 = new JObject();jsSys5.Add("system_name", "放出系");JArray jsArraySys5 = new JArray();jsArraySys5.Add(new JValue("富兰克林"));jsArraySys5.Add(new JValue("旋律"));jsArraySys5.Add(new JValue("爆弹魔"));jsSys5.Add("character", jsArraySys5);jsArraySys0.Add(jsSys5);JObject jsSys6 = new JObject();jsSys6.Add("system_name", "特质系");JArray jsArraySys6 = new JArray();jsArraySys6.Add(new JValue("Kula-火红眼"));jsArraySys6.Add(new JValue("库洛洛"));jsArraySys6.Add(new JValue("派克诺妲"));jsSys6.Add("character", jsArraySys6);jsArraySys0.Add(jsSys6);jsSystem.Add("system", jsArraySys0);jsObj.Add("system", jsSystem);string strSrc = Convert.ToString(jsObj);//将json装换为stringFile.WriteAllText(Directory.GetCurrentDirectory() + "\\test.json", strSrc, System.Text.Encoding.UTF8);//将内容写进json文件}catch (Exception ex){}}

写成功,打开看看:


read:

 //readprivate void button2_Click(object sender, EventArgs e){string folder = Directory.GetCurrentDirectory(); //获取应用程序的当前工作目录。 string path = folder + "\\test.json";StreamReader file = File.OpenText(path);JsonTextReader reader = new JsonTextReader(file);JObject jsonObject = (JObject)JToken.ReadFrom(reader);string career = jsonObject["career"].ToString();int nCount = int.Parse(jsonObject["system"]["count"].ToString());bool unique = bool.Parse(jsonObject["system"]["unique"].ToString());if(m_arrHunter == null){m_arrHunter = new List<Hunter>();}m_arrHunter.Clear();int nSize = jsonObject["system"]["system"].Count();for (int i = 0;i<nSize;i++){Hunter hunter = new Hunter();hunter.system = jsonObject["system"]["system"][i]["system_name"].ToString();int nSize2 = jsonObject["system"]["system"][i]["character"].Count();for(int j = 0;j<nSize2;j++){hunter.arrCharacter.Add(jsonObject["system"]["system"][i]["character"][j].ToString());}m_arrHunter.Add(hunter);}for(int i = 0;i<m_arrHunter.Count;i++){Console.Write(m_arrHunter[i].system+":\n");int nSize2 = jsonObject["system"]["system"][i]["character"].Count();for (int j = 0; j < nSize2; j++){Console.Write(jsonObject["system"]["system"][i]["character"][j].ToString() + "\t");}Console.WriteLine("\n");}int xxx = 12;}

表结构:

打印出来看看:

C# 读写json文件相关推荐

  1. java如何读写json文件

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

  2. python 读写json文件

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

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

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

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

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

  5. python 读写 json文件

    json的优势: 1. 数据体积方面. JSON相对于XML来讲,数据的体积小,传递的速度更快些. 2. 传输速度方面. JSON的速度要远远快于XML 3. 数据格式 数据格式比较简单, 易于读写, ...

  6. C++读写Json文件

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

  7. python json文件_python读写json文件的简单实现

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族 ...

  8. python读写json文件

    2019独角兽企业重金招聘Python工程师标准>>> 创建json文件: {     "fontFamily": "微软雅黑",     & ...

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

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

  10. Python读写json文件的简单实现

    转载自https://blog.csdn.net/vitaminc4/article/details/77985175 介绍 JSON(JavaScript Object Notation) 是一种轻 ...

最新文章

  1. [DevOps] 认识一下
  2. 服务器标记“asp:ScriptManager”不明确。
  3. Educational Codeforces Round 11C. Hard Process two pointer
  4. 【学习笔记】2019-Learning_UVOS_Through_Visual_Attention
  5. ORA-07445 [kxsxsi()+450] [SIGSEGV]
  6. php 写 mysql 事件_PHP日歷,包含來自MySQL數據庫的重復事件
  7. linux win10 时间同步服务器,windows和linux下服务器时间如何校正?
  8. Win10专业版系统PyCharm专业版使用WSL(ubuntu20.04 LTS)配置Docker解释器配置环境详细教程
  9. 5G 爆发前夕,这些科技巨头们聚在一起“密谋”了些什么?!
  10. Codeforces Round #518 (Div. 2): D. Array Without Local Maximums(DP)
  11. phpmyadmin出现缺少mysqli扩展问题
  12. TestDriven.NET 2.0——单元测试的好助手(转)
  13. 解决U盘插入我的电脑中不显示
  14. echarts地图省市坐标
  15. 搞定检索式对话系统的候选response检索--使用pysolr调用Solr
  16. 秀才还是野兽(规划还是探索)
  17. 自媒体写好文案的技巧,这5个网站请收藏好!你想要的都在!
  18. Android Studio Lint 工具看完这一篇还不够
  19. WT588F02KD-24SS语音芯片(数码管显示驱动ic)在多功能烧水壶的应用设计方案
  20. python——用Turtle画画写名字

热门文章

  1. oracle数据库服务器名称修改,oracle数据库服务器名称修改
  2. “个人云”复兴:智能化成为新趋势
  3. D3D游戏关于窗口中如何精确确定鼠标位置的相关讨论
  4. 寻找可接入正版音乐曲库的音乐API?来了解HIFIVE音乐开放平台!
  5. EasyGame网络游戏服务器解决方案
  6. Adobe flash cs4的一个序列号
  7. 使用花生壳6.5客户端FTP设置
  8. 基于websocket单台机器支持百万连接分布式聊天(IM)系统
  9. 号码检测,节省成本利器
  10. Python爬虫实战--斗鱼直播爬虫