json简介
时间:2022-07-23
本文章向大家介绍json简介,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
json的书写格式 json语法很简单,也很容易理解,具体如下: 语法规则: 数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JSON 值:
数字(整数或浮点数)字符串(在双引号中)逻辑值(true 或 false)数组(在方括号中)对象(在花括号中)null
JSON 名称/值对
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值: "firstName" : "John"
JSON 对象:
JSON 对象在花括号中书写:对象可以包含多个名称/值对: { "firstName":"John" , "lastName":"Doe" }
JSON 数组
JSON 数组在方括号中书写:
数组可包含多个对象:
{
"employees":
[{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones"
}
]}
C# 中json的使用
第一步:
要引用组件(Newtonsoft.Json.dll)
在 Manager NuGet Package 上安装 Newtonsoft.Json ,在cs 文件中引用
第二步:
引用类
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;//引用此组件时,框架4.0以上版本支持;注意版本支持的范围using Newtonsoft.Json.Converters;
json文件
{"UserName":"admin","UserPassword":"111111","level":1},{"UserName":"user","UserPassword":"111111","level":0}]
代码实例:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;//引用此组件时,框架4.0以上版本支持;注意版本支持的范围
using Newtonsoft.Json.Converters;
using System.IO;
namespace WindowsFormsApp13
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
LoadUsers();
}
private List<User> Users;
public class User
{
public String UserName { get; set; }
public String UserPassword { get; set; }
public int level { get; set; }
}
public void LoadUsers()
{
Users = new List<User>();
//json格式字符串转换为实体类,大括号{}表示对象,[]数组表示列表。
//string Jsonsting = File.ReadAllText(jsonfile,Encoding.Default);//加编码,不然乱码
;
//读取json方法2
//using (StreamReader sr = File.OpenText(jsonfile))
//{
// input = sr.ReadToEnd();//json内容
// sr.Close();
//}
String userfile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "users\user.json");
//string jsonfile = Application.StartupPath + @"config.json";//JSON文件路径
try
{
Users = JsonConvert.DeserializeObject<List<User>>(File.ReadAllText(userfile, Encoding.Default));
foreach (var item in Users)
listBox1.Items.Add(item.UserName);
}
catch { }
}
void SaveUsers()
{
try
{
String userfile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "users");
if (!Directory.Exists(userfile))
{
Directory.CreateDirectory(userfile);
}
userfile = Path.Combine(userfile, "user.json");
string output = JsonConvert.SerializeObject(Users);
File.WriteAllText(userfile, output);
}
catch { }
}
}
}
效果:
- 走进科学:对七夕“超级病毒”XX神器的逆向分析
- 机器学习 - 朴素贝叶斯分类器的意见和文本挖掘
- 认知指纹:颠覆性的身份认证技术
- 跟我学姿势:极客教你如何科学的看电影
- Discuz 5.x/6.x/7.x投票SQL注入分析
- 论如何高效的挖掘漏洞
- Rxjava + retrofit + dagger2 + mvp搭建Android框架
- 走进科学:如何正确的隐藏自己的行踪
- 比特儿(Bter.com) 比特币交易平台被盗事件全解析
- BitTorrent Bleep:无法被监控的聊天软件
- QQ蠕虫的行为检测方法
- 趋势OfficeScan系列产品漏洞分析
- [置顶] 浅谈我为什么选择用Retrofit作为我的网络请求框架
- 基于HTML5的Canvas指纹跟踪技术
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法