热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JsonNet简单的文件读取和写入

▲读写的文件XiaoMing.json:{Name:小明,Sex:男,Age:12}JsonWriteTest.json:{StartX:1.23,StartY:1.24,EndX

▲ 读写的文件

XiaoMing.json:

{"Name":"小明","Sex":"男","Age":12}

JsonWriteTest.json:

{
"StartX": 1.23,
"StartY": 1.24,
"EndX": 10,
"EndY": "YY",
"Favorites": [
"吃饭",
"睡觉"
],
"Remark": null
}

引入 Newtonsoft.Json.dll

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
ReadJsonFile();
WriteJson();
Console.ReadKey();
}
private static void ReadJsonFile()
{
string jFileName = "./XiaoMing.json";
StreamReader sr = File.OpenText(jFileName);
JsonTextReader jr = new JsonTextReader(sr);
JObject jObj = JToken.ReadFrom(jr) as JObject;
Console.WriteLine($"Name:{jObj["Name"].Value()} \nSex:{jObj.Value("Sex")} \nAge:{jObj["Age"].Value()}");
}
private static void WriteJson()
{
string fileName = "./JsonWriteTest.json";
JObject jsonObj1 = new JObject();
jsonObj1["StartX"] = 1.23;
jsonObj1["StartY"] = 1.24;
jsonObj1["EndX"] = 10;
jsonObj1["EndY"] = "YY";
// 创建数组
JArray array = new JArray();
array.Add(new JValue("吃饭"));
array.Add(new JValue("睡觉"));
jsonObj1.Add("Favorites", array);
jsonObj1.Add("Remark", null);
//Console.WriteLine(array.ToString());
string cOnvertString= Convert.ToString(jsonObj1);//将json装换为string
File.WriteAllText(fileName, convertString, System.Text.Encoding.UTF8);//将内容写进jon文件中
}
}
}



参考:



  • https://www.cnblogs.com/dangnianxiaoqingxin/p/13365820.html // C# 使用Newtonsoft.Json读写Json文件

  • C# Newtonsoft.Json用法 https://blog.csdn.net/qq_38693757/article/details/113728350

  • https://www.jb51.net/article/204058.htm // C# Newtonsoft.Json 解析多嵌套json 进行反序列化的实例

  • https://www.jb51.net/article/256530.htm // c#解析jobject的数据结构



推荐阅读
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 本文总结了Java初学者需要掌握的六大核心知识点,帮助你更好地理解和应用Java编程。无论你是刚刚入门还是希望巩固基础,这些知识点都是必不可少的。 ... [详细]
  • JUC(三):深入解析AQS
    本文详细介绍了Java并发工具包中的核心类AQS(AbstractQueuedSynchronizer),包括其基本概念、数据结构、源码分析及核心方法的实现。 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
  • iOS 不定参数 详解 ... [详细]
  • 本文介绍 DB2 中的基本概念,重点解释事务单元(UOW)和事务的概念。事务单元是指作为单个原子操作执行的一个或多个 SQL 查询。 ... [详细]
  • 本文将深入探讨 iOS 中的 Grand Central Dispatch (GCD),并介绍如何利用 GCD 进行高效多线程编程。如果你对线程的基本概念还不熟悉,建议先阅读相关基础资料。 ... [详细]
  • 本文介绍了如何在 Spring 3.0.5 中使用 JdbcTemplate 插入数据并获取 MySQL 表中的自增主键。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 本文详细介绍了Java反射机制的基本概念、获取Class对象的方法、反射的主要功能及其在实际开发中的应用。通过具体示例,帮助读者更好地理解和使用Java反射。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 本文介绍了一种在ANSI C中动态分配二维数组的方法。通过创建指针数组并为每个指针分配连续空间,可以灵活地管理内存。文章还讨论了一些常见的错误和注意事项。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
author-avatar
阳光美女新干线-
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有