json的书写格式 数字(整数或浮点数)字符串(在双引号中)逻辑值(true 或 false)数组(在方括号中)对象(在花括号中)null JSON 名称/值对 名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:
JSON 对象在花括号中书写:对象可以包含多个名称/值对: 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 { } }
} }
效果: |
|
来自: ontheroad96j47 > 《待分类》